2014-02-15 57 views
0

每當我使用Maven部署一個Jenkins版本時,它說我有1.3 JDK,即使我安裝了1.7。由於JDK特性不受支持,Jenkins Maven編譯失敗?

以下是錯誤日誌使用循環增強時,我得到的圖片:

http://gyazo.com/d1c7e297199dbf8a8b6ba23efa5733ba.png

但是,我清楚地安裝了JDK 1.7。

http://gyazo.com/27b85ba9ea25579aa714b0e2586fd618.png

如果有人知道爲什麼會出現此問題,以及如何解決它,請在下面張貼。

對不起,我沒有大量的格式化信息,但我不知道爲什麼可能會發生這種情況,因爲我沒有這樣過時的JDK,並且有最新的Oracle更新。 Maven和Jenkins也完全更新。

謝謝。

+0

確保您有$ JAVA_HOME設置中,檢查Java是在PATH,檢查詹金斯的全局配置的Java它使用。那些首先出現在我的腦海裏。 – rlegendi

+0

你的maven-compiler-plugin配置在你的POM中看起來像什麼? – tdrury

回答

1

maven的抱怨不是關於你的jdk版本,而是關於編譯器的-source參數。較老的Maven版本使用maven-compiler-plugin版本,默認情況下使用-source和-target 1.3。

所以,你需要做的是配置你的項目使用更高的源和目標水平,以使用您的每個循環:

(從https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html拍攝)

<project> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    [...] 
    </build> 
    [...] 
</project> 

注意,僅憑設置maven-compiler-plugin的版本實際上已經足夠了,因爲對於版本3.1,默認 1.5,但是明確地將主版本和目標版本包含在主版本中是一種很好的風格。

0

根據堆棧跟蹤,您已將項目設置爲使用默認jdk進行編譯。您的默認值是服務器上的%JAVA_HOME%環境變量,可能會將其設置爲較舊的jdk。爲了使用1.7 jdk進行編譯,您必須在您的項目配置中指定它。更改jdk:(默認)爲您的1.7名稱..這是jdk。

或者您可以轉到maven jdk並將其從(從項目繼承)更改爲jdk。

已經有一個問題與車票有關本詹金斯開:https://issues.jenkins-ci.org/browse/JENKINS-755