在 Jenkins 中设置 java 个自定义位置

Set java custom location in Jenkins

我 运行 我使用 Maven 项目在服务器上的 Jenkins 中进行测试。

服务器上 java 的默认路径是 /usr/lib/jvm/java-openjdk/bin/java

相反,我想在我的测试中使用 java 1.8,它位于:

/usr/lib/jvm/jre-1.8.0-开jdk.x86_64/bin/java

如何在 jenkins 属性或 POM 文件中进行设置,以便 maven 使用 java 1.8 而不是默认版本?

我试图设置一个字符串 属性 JAVA_HOME 或在 MAVEN_OPTS 中将路径设置为 jdk 8 但它仍然使用默认值 java。

  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
    

另一个解决方案是在 Jenkins 主服务器配置上声明 JDK8 安装:

接下来,在您的 Jenkins 作业中使用此 JDK8 配置:

您可以在节点配置屏幕中执行相同操作: