目前我面臨的問題是我需要在具有不同Java版本的作業中運行兩個maven目標。在一個jenkins工作中可以使用不同的Java版本嗎?
第一步是編譯我的代碼與Java 6 第二步是與Java 8
運行聲納我怎樣才能做到這一點?
謝謝
目前我面臨的問題是我需要在具有不同Java版本的作業中運行兩個maven目標。在一個jenkins工作中可以使用不同的Java版本嗎?
第一步是編譯我的代碼與Java 6 第二步是與Java 8
運行聲納我怎樣才能做到這一點?
謝謝
首先感謝與toolchain或maven.compiler.source
和maven.compiler.target
其他提示。
對我來說,這可悲的是不工作,但我找到了一個簡單的解決方案。這就是使用jenkins管道。
這種情況下的工作區是共享的。它是使用node命令創建的。
node('Slaves')
{
stage('Build with coverage and All tests') {
echo 'Starting build with ALL unittests'
withMaven(jdk: 'JDK6') {
//execute maven with java6
}
}
stage('Execute Sonar') {
//do other stuff
withMaven(jdk: 'JDK8') {
//execute maven with java8
}
}
}
您可以使用java 8
爲默認,在pom.xml
設置如下properties使用java 6
作爲源和目標編譯器。
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
更正了'maven.compiler.source'版本! –
你試過了嗎:https://stackoverflow.com/a/38866362/1595977? – Edwin
對此,答案是:[Toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html),它解決了這個問題。因此,使用JDK 8運行Maven,但使用其他JDK版本編譯/測試代碼(例如使用JDK 6)。 – khmarbaise
免責聲明。我無法使用Java 8來運行Maven進行編譯。我們的遺留代碼庫不支持它。 – keiki