2016-05-30 2 views
0

In Eclipse habe ich -ea (aktivieren Zusicherungen) als default VM argument für meine JREs gesetzt. Dies macht die Verwendung von Aussagen viel nützlicher, und ich möchte es nicht verpassen.Wie überschreiben Sie die Standard-JVM-Argumente in Eclipse?

Allerdings gibt es einige seltene Situationen, in denen ich nicht wollen -ea. Gibt es eine Möglichkeit, die VM-Standardargumente für eine bestimmte Ausführungskonfiguration zu überschreiben (zu entfernen)?

Speziell, ich möchte JMH mit einem Maven exec:java Laufkonfiguration ausführen, aber eine Lösung, die für jede Art von Laufkonfiguration funktioniert, wäre auch schön.

Antwort

2

Sie können neue JREs in Eclipse ohne das Argument -ea (aber den gleichen Installationspfad) erstellen.

Dann können Sie für eine Startkonfiguration die zu verwendende JRE angeben.

0

Was ist mit einem Maven Profil?

Das folgende Beispiel unterschiedliche JDK für verschiedene Profile verwenden:

<build> 
    <plugins> 
     <!-- we want JDK 1.6 source and binary compatiblility --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <!-- ... --> 
     <!-- we want sources to be processed by a specific 1.6 javac --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <verbose>true</verbose> 
       <fork>true</fork> 
       <executable>${JAVA_1_6_HOME}/bin/javac</executable> 
       <compilerVersion>1.3</compilerVersion> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Wenn Ihre Entwickler fügen Sie einfach (und anpassen) die folgenden Zeilen in ihren settings.xml, wird Ihr pom unabhängig Plattform:

<settings> 
    [...] 
    <profiles> 
    [...] 
    <profile> 
     <id>compiler</id> 
     <properties> 
      <JAVA_1_4_HOME>C:\Program Files\Java\j2sdk1.4.2_09</JAVA_1_4_HOME> 
      <JAVA_1_6_HOME>C:\Program Files\Java\j2sdk1.6.0_18</JAVA_1_6_HOME> 
     </properties> 
    </profile> 
    </profiles> 
    [...] 
    <activeProfiles> 
    <activeProfile>compiler</activeProfile> 
    </activeProfiles> 
</settings> 

Unter Verweis auf Maven zu dem Compiler-Plugin JVM Args übergeben ... aber ich habe es noch nie versucht:

https://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-with-memory-enhancements.html

+0

Am besten für solche Dinge verwenden Sie [toolchain] (https://maven.apache.org/guides/mini/guide-using-toolchains.html) und nicht die Eigenschaften/Profilkombination. – khmarbaise

+0

Uhm, ich sehe nichts über JVM Args in Ihrer Antwort. Pflege um zu erarbeiten? – rolve

+0

Ja, wie ich geschrieben habe, verwenden dieses Beispiel nur unterschiedliche JDK, indem Sie für das Maven Compiler-Plugin andere Werte angeben können, siehe diesen Thread: http://StackOverflow.com/Questions/27035389/How-to-Set-XXpermsize -64m-in-maven-compiler-plugin Aber wie Sie sehen können hängt es von MVNand Compiler-Version, so konnte nicht funktionieren .. wenn Sie suchen, finden Sie auch Plugin, das dies für Sie tun, oder Sie können nur eine Prozedur ausführen Mit dem exec plugin, das die Installation ausführt, die MAVEN_OPTS Werte exportiert, versuche ich Ihnen nur ein paar Ideen darüber zu geben, wie es gemacht wird. – ivoruJavaBoy

Verwandte Themen