2017-01-06 2 views
0

Eclipse를 사용하고 있으며 실행 구성에 VM 인수 집합을 전달해야합니다. "Run/Debug Settings"을 사용하여 개별적으로 수행하는 방법을 알고 있습니다. 그리고 Window/Preferences/Java/Installed JRE를 사용하여 시스템 전체에서이를 수행하는 방법을 알고 있습니다.Eclipse에서 프로젝트 전반의 VM 인수를 설정할 수 있습니까?

제 문제는 다른 VM 인수가 필요한 여러 프로젝트가 있다는 것입니다. 또한 각 프로젝트마다 실행할 클래스가 여러 개 있으므로 "실행/디버그 설정"경로를 사용하면 실행 구성을 복제하는 것이 지루할 수 있습니다. 이러한 설정을 변경해야 할 때 이러한 모든 구성 내에서 개별 값을 변경하는 것이 훨씬 지루할 수 있습니다.

Eclipse에서 프로젝트 별 실행 구성을 유지 관리 할 수있는 방법이 있습니까?

답변

0

처음에는 질문이 명확하지 않지만 asker는 단위 테스트를 위해 VM 인수를 지정하는 방법을 찾고 있습니다.

특정 VM 인수가 필요한 경우 Eclipse에 의존해서는 안되며 Maven 또는 Gradle과 같은 빌드 도구를 선호해야합니다. 작업 공간이 손상된 경우 (때로는 어떤 이유로 든) 구성이 모두 사라집니다.

Maven Surefire를 사용하면 단위 테스트를 프로젝트별로 실행할 때 실행할 VM 인수를 지정할 수 있습니다. 뿐만 아니라, 이것은 IDE와 무관합니다.

당신은 예를 들어, 당신의 pom.xml에이 방법을 정의 할 수 있습니다 :

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <argLine>-XX:MaxPermSize=1024m</argLine> 
    </configuration> 
</plugin> 

- 실행 구성이 이미 특정 프로젝트. 프로젝트를 마우스 오른쪽 단추로 클릭하고 Run As을 선택한 다음 메뉴 맨 아래에 Run Configurations을 선택합니다. 당신은 그들을 만들 때 적용하는 프로젝트를 지정

Run Configuration

당신은 인수 탭에서 VM 인수를 지정할 수 있으며이를 클릭하고 중복을 선택하는 권리에 의해 실행 구성을 복제 할 수 있습니다. 자바 →

+0

예, 구성은 프로젝트마다 다르지만 프로젝트 전체에는 적용되지 않습니다. 상속은 없습니다. 나는 "New_configuration"을 만들 수 있지만, 나는 내가 실행하는 모든 클래스에 대해 그것을 복사해야만한다. 말하자면, 나는 50 개의 클래스를 가지고 있으며, 첫 번째 패스 후에 _all_에 대한 인수 중 하나를 변경해야합니다. – Alexander

+0

프로젝트와 프로젝트의 차이가 무엇인지는 명확하지 않습니다. 애플리케이션에 대한 단일 진입 점이 있어야합니다 ... 프로젝트의 모든 클래스에 대해 구성이 필요한 이유는 무엇입니까? –

+0

@Christopher Schneider 프로젝트에 정적 정적 void main class가 하나만 있어야하는 이유는 없습니다. 그러나 내가 아는 한 OP가 요구하는 것은 불가능합니다. 기본 레벨 인수와 실행 구성의 두 가지 레벨이 있습니다.어쩌면 당신이 할 수있는 일은 그 프로젝트에 대한 jvm 인수를 가진 JRE를 추가하고 프로젝트 실행 타겟을 위해 그 jre를 사용하는 것입니다. – NickL

2

창 → 환경 설정 → 설치된 JRE를

먼저 구성 :

Default VM Arguments: -XX:+HeapDumpOnOutOfMemoryError 

JRE Home: JRE1-PorojectType (You can name it anything) 

두 번째 구성 :

Default VM Arguments: -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps" 

JRE Home: JRE2-PorojectType (You can name it anything) 

구성된 JRE를 관련 프로젝트에 연결하면 프로젝트에 기본 구성된 VM 인수가 생깁니다.

+0

흠, 프로젝트 용 사용자 정의 JRE 항목을 만드십시오 ... 좋은 생각 인 것 같습니다. – Alexander

+1

감사합니다. 기존 프로젝트를 다른 JRE (Project/Properties/Java Build Path/Libraries)와 연결하는 방법을 알아내는 데 조금 시간이 걸렸지 만 일단 모든 것을 설정하면 모든 새로운 실행 구성이 모든 사용자 정의 JRE를 성공적으로 상속합니다 해당 VM 설정 중. – Alexander

+0

다행스럽게 생각합니다. 나는 아마 더 나은 장기 해결책 인 나의 대답을 편집했다. Eclipse 대신 외부 빌드 도구를 조사해야 할 것 같은데. –