我的項目使用Spring Framework 4.0.0 REALESE,也許它不適用於JDK版本1.5,所以我想將其更改爲SE 1.8。我試圖將我的Web項目的JRE系統庫從SE 1.5更新到1.8。但是我從Maven更新項目後發現,我的項目會自動返回到舊版本。我該如何解決它?如何更改Maven項目的JRE系統庫?
回答
你的問題不是很清楚,所以我一般回答:所有的
首先,你需要決定哪個Java用來啓動Maven的。這有一些暗示,因爲更新的Maven和插件版本需要某個版本。如果你從IDE啓動Maven,這可能會更復雜,因爲用於IDE的JVM用於maven,除非你覆蓋它。
如果您通常不做其他任何操作,則此Java VM也用於運行Java編譯器。因此,它控制語言級別,輸出類版本和使用的系統庫。不過有時你想要有一個不同的編譯器(你應該避免它,但你可以這樣做)。在這種情況下,您可以指定編譯插件(以及其他編譯插件)使用fork模式,然後指定Java的路徑或使用Toolchain(這兩個選項均在SO上進行了描述)
最後是編譯器的source level and target version settings。
這也支配Eclipse的項目(使用Alt + F5重新讀取它)將使用的源代碼級別和「系統庫」。 Eclipse從Maven編譯器設置中提取這些設置,通常將它們指定爲POM屬性。
最後不要忘記實際用於啓動項目或應用程序服務器的Java。
首先感謝您的回答,但是從POM文件配置不適合我。我的Web項目現在運行在J2SE-1.5上,我希望它運行在J2SE-1.8上。我該怎麼做: 我右鍵單擊我的項目,然後選擇配置類路徑。然後我刪除舊版本並添加一個新版本。但是當我選擇Maven-> Update項目時,我的項目會返回到舊版本。所以我想問的問題是如何保持更新項目後我更改的版本。 –
從3.3.1開始的Maven需要Java 7,其中Maven到3.2.5需要Java 6和Java 5之前。詳情可以在這裏找到:http://maven.apache.org/docs/history.html。所有的Maven插件都需要Java 6,通常從3.0.X版本開始。例如,對於[maven-install-plugin](http://maven.apache.org/plugins/maven-install-plugin/plugin-info.html),可以找到插件的詳細信息。 – khmarbaise
如果你想配置java 1。在Eclipse中需要8個系統庫,您需要確保a)eclipse發現/知道1.8環境,並且將'maven.compiler.target'設置爲1.8作爲POM屬性。在Eclipse中刷新Maven配置後,項目將擁有正確的系統庫。 (如果你用手偏好來改變它,eclipse會在下一次使POM更新時忘記它)。我擴大了答案。這當然包括Maven項目類型或(我認爲)Maven自然。對於非maven項目,只需在項目設置中切換jvm。 – eckes
在我們的項目中進行以下設置pom.xml
控制JDK用於編譯
<properties>
. . .
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.bootclasspath>C:\Program Files\Java\jdk1.8.0_101\jre\lib\rt.jar${path.separator}C:\Program Files\Java\jdk1.8.0_101\jre\lib\jsse.jar${path.separator}C:\Program Files\Java\jdk1.8.0_101\jre\lib\jce.jar</maven.compiler.bootclasspath>
. . .
</properties>
我們的項目是一個戰爭神器。部署完成後,應用程序服務器(在我們的例子中爲tomcat)的配置決定了應用程序服務器和應用程序運行的JVM。
(我們的環境是有點特別 - 我們使用JVM/JDK 8,但與Java 1.7兼容模式下使用它們不必遵循這個。)
感謝兄弟,這個答案是我尋找的,它的工作原理。 –
不客氣!我們都相互學習。 – leeyuiwah
我可以問更多問題嗎?如果我想爲使用Maven創建項目設置默認的JDK 1.8,我該怎麼辦? –
您可以配置編譯器插件這樣:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8<target>
</configuration>
</plugin>
我可以問更多問題嗎?如果我想爲使用Maven創建項目設置默認的JDK 1.8,我該怎麼辦? –
- 1. 如何更改Eclipse Maven項目上的JRE庫?
- 2. 進口Maven項目嘗試使用JRE系統庫
- 3. 修改JRE系統庫
- 4. Maven和eclipse:刪除JRE系統庫
- 5. JRE系統庫[WebSphere v6.1 JRE](unbound)
- 6. JRE系統庫缺少tools.jar
- 7. Eclipse JRE系統庫[J2SE-1.5]
- 8. 是否可以在Android項目中引用jre系統庫?
- 9. 強制添加JRE系統庫到Android項目
- 10. 更改Maven項目
- 11. 在NetBeans項目中更改JRE
- 12. Eclipse爲項目更改了JRE
- 13. aspectj-maven-compiler插件:如何編織JRE系統。*?
- 14. 指定系統屬性爲Maven項目
- 15. 將GWT項目更改爲Maven項目
- 16. 未綁定的類路徑容器:'項目'HelloWorld'中的JRE系統庫
- 17. 如何更改android系統
- 18. Android JRE系統庫(java.awt。*)丟失
- 19. Eclipse 4.3 Kepler缺少JRE系統庫
- 20. 使用系統範圍將外部庫添加到maven項目
- 21. 如何刪除JRE系統庫中的.jar文件?
- 22. 系統上的多個JRE
- 23. 的Maven不把下載的罐子在Eclipse的JRE系統庫「文件夾」
- 24. 如何更改默認的Maven項目輸出目錄
- 25. 如何將標準庫項目更改爲Silverlight庫項目?
- 26. 如何在Eclipse中爲Maven aggregator項目構建定義JRE?
- 27. 在系統上檢查JRE
- 28. 如何在我的maven項目中更改ejb-jar.xml的位置?
- 29. 更改Xcode項目到新的系統不能正常工作
- 30. 在文件系統中更改Eclipse的項目位置
這可能幫助http://stackoverflow.com/questions/27037657/stop-intellij-idea-to-switch-java-language-level-everytime-the-pom-is-reloaded/27037879# 27037879 – vikingsteve