2011-01-21 18 views
8

我使用Eclipse作爲IDE和Maven之外的Maven來保持所有依賴項都是最新的,並更新Eclipse項目。在Eclipse中,我通常將JRE系統庫指定爲任何Java項目的執行環境,通常是「JavaSE-1.6」。Eclipse + Maven:強制執行環境「JavaSE-1.6」而不是固定的JDK

在我使用下面的行的pom.xml:

 <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <projectNameTemplate>[groupId].[artifactId]</projectNameTemplate> 
       <downloadJavadocs>true</downloadJavadocs> 
       <wtpversion>2.0</wtpversion> 
      </configuration> 
     </plugin> 

這似乎讓Maven的挑JDK 1.6匹配。它將系統庫分配給項目的類路徑。但是,它直接使用jdk1.6.20而不是JavaSE-1.6。

有沒有辦法讓Maven使用JavaSE-1.6呢?


編輯: 下面是我用它來運行Maven批處理文件:

SET JAVA_HOME=C:\Programme\java\jdk1.6.0_20 
SET MAVEN_HOME=C:\Programme\apache-maven-2.2.1 
SET MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m 
SET PATH=%JAVA_HOME%\bin;%MAVEN_HOME%\bin;%PATH% 

SET EXTRA_MVN_OPTS=-Dmaven.test.skip=true 

CD /D "%~dp0" 
cmd /c mvn %EXTRA_MVN_OPTS% eclipse:clean eclipse:eclipse 
cmd /c mvn %EXTRA_MVN_OPTS% clean install 
+0

我添加了Maven和批處理文件中的pom.xml線爲`Maven的Eclipse的plugin` – sjngm 2011-01-21 13:34:23

回答

10

你可以通過設置一個類路徑容器來實現。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.8</version> 
    <configuration> 
     <classpathContainers> 
      <classpathContainer> 
    org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6 
      </classpathContainer> 
     </classpathContainers> 
    </configuration> 
</plugin> 

參考:

2

走進窗口>首選項>的Java>已安裝的JRE>執行環境

選擇的JavaSE-1.6,點擊右邊應該指出「完美匹配」的複選框

然後使用maven菜單中的「更新項目配置」。

+0

它已經確實。除此之外,我不允許使用Maven菜單,因爲它偶爾會破壞項目設置。 – sjngm 2011-01-21 13:31:53

+0

您使用的是哪個版本的maven擴展?更新的版本對此非常好。如果您將.project&.classpath文件提交到版本控制,eclipse + maven可能會更新/重新配置基於依賴和插件的文件,這可能不是一個好主意。 – 2011-01-21 14:17:37

+0

我剛看到你的編輯,我會看@Sean Patric Floyd的推薦。 – 2011-01-21 14:18:49

0

由於您使用maveneclipse,也許你應該使用M2Eclipse插件。 Maven項目在Eclipse進口的(Maven的設置JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23建),顯示了作爲JRE System LibraryJavaSE-1.6

相關問題