我用java11和maven项目创建jenkins插件但收到错误: -
[错误]无法在项目abcdef上执行目标org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M2:enforce(display-info):目标org.apache.maven.plugins的执行显示信息:maven-enforcer-plugin:3.0.0-M2:强制执行失败:给出了未知的JDK版本。应该像“1.7”,“8”,“11”,“12”
URL中提到的后续步骤: - https://wiki.jenkins.io/display/JENKINS/Java+11+Developer+Guidelines
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>3.42</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.level>11</java.level>
</properties>
<dependencies>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>jenkins-core</artifactId>
<version>2.173</version>
</dependency>
</dependencies>
还遵循jenkins hello world插件中的上述步骤并收到相同的错误。根据URL中提到的细节,jenkins支持java11,所以期望.hpi文件应该用java11创建。
我通过更改pom.xml修复了上述错误,如下所示:
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>display-info</id>
<phase>validate</phase>
<goals>
<goal>display-info</goal>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>11</version>
</requireJavaVersion>
<enforceBytecodeVersion>
<maxJdkVersion>11</maxJdkVersion>
</enforceBytecodeVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
<testSource>11</testSource>
<testTarget>11</testTarget>
</configuration>
</plugin>
</plugins>
</build>
现在收到新错误:[错误]无法执行目标org.kohsuke:access-modifier-checker:1.16:enforce(default-enforce)on project testingwhiz:执行default-enforce of goal org.kohsuke:access-modifier-checker: 1.16:强制执行失败。抛出:IllegalArgumentException