2015-11-10 64 views
0

我使用Maven項目在服務器上的Jenkins中運行我的測試。在Jenkins中設置java自定義位置

的默認路徑爲Java服務器上是 /usr/lib中/ JVM/Java的的OpenJDK /斌/ java的

相反,我想在我的測試中使用的Java 1.8,它位於:

/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

如何設置這詹金斯屬性或在POM文件中,以便Maven會用java 1.8,而不是默認的一?

我試圖設置一個字符串屬性JAVA_HOME或在MAVEN_OPTS中將路徑設置爲jdk 8,但它仍然使用默認的java。

+1

在構建環境您的項目,您可以將JAVA_HOME設置爲您選擇的版本。 –

回答

2

另一個解決辦法是宣佈你的詹金斯主服務器配置JDK8安裝:

enter image description here

而接下來,在詹金斯的工作使用這個JDK8配置:

enter image description here

你可以做同樣的節點配置屏幕:

enter image description here

+0

對不起,我的誤解但我無法在我的節點配置中找到這些設置。甚至「執行併發構建如果需要」的短語缺席。一些權限問題? – BohdanN

+0

我已經添加了節點配置的截圖。請確認它解決你的pb :) –

+0

是的,它有助於設置一個自定義的java位置,謝謝! – BohdanN

1
  1. 的pom.xml:

    <build> 
        <plugins> 
         <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-compiler-plugin</artifactId> 
         <configuration> 
          <verbose>true</verbose> 
          <fork>true</fork> 
          <executable>${jdk}/bin/javac</executable> 
          <compilerVersion>1.5</compilerVersion> 
         </configuration> 
         </plugin> 
         <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <configuration> 
          <jvm>${jdk}/bin/java</jvm> 
          <forkMode>once</forkMode> 
         </configuration> 
         </plugin> 
        </plugins> 
        </build> 
    
        <profiles> 
         <profile> 
         <id>default_jdk</id> 
         <activation> 
          <activeByDefault>true</activeByDefault> 
         </activation> 
         <properties> 
          <jdk>${env.JAVA_HOME}</jdk> 
         </properties> 
        </profile> 
        <profile> 
         <id>jdk8</id> 
         <activation> 
          <activeByDefault>false</activeByDefault> 
         </activation> 
         <properties> 
          <jdk>/usr/lib/jvm/jre-1.8.0-openjdk.x86_64</jdk> 
         </properties> 
        </profile>  
        </profiles> 
    
  2. 激活輪廓jdk8:

    mvn clean install -Pjdk8 
    
+0

我嘗試了您的解決方案,但似乎Jenkins在設置Maven之前啓動VM。這是我在控制檯中看到的: '[selenium] $/usr/lib/jvm/java -openjdk/bin/java -Xmx1024m -XX:MaxPermSize = 786M -Dgwt.compiler.localWorkers = 1 -XshowSettings:vm 虛擬機設置: 最大。堆大小:1.00G 人體工程學機牀類:服務器 使用VM:OpenJDK的64位服務器VM' 然後: '執行的Maven: -B -f在/ var/lib中/詹金斯/工作區/ TWO033硒-tests-forked-repository/test/selenium/pom.xml測試站點-Pjdk8' – BohdanN