首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在eclipse中创建org.jenkins-ci.plugins时的maven-enforcer-plugin问题

在eclipse中创建org.jenkins-ci.plugins时的maven-enforcer-plugin问题
EN

Stack Overflow用户
提问于 2018-05-25 17:31:04
回答 2查看 1.6K关注 0票数 2

我尝试获取一个最小的空jenkins插件来编译并在一个jenkins中显示。

我创建了一个新的Java项目,并将其转换为maven项目。Right Click -> Configure -> Into Maven

我的问题源于父母。

代码语言:javascript
复制
Group Id: org.jenkins-ci.plugins 
Artifact Id: plugin
Version: 3.9

当我执行目标RunAs -> Maven -> Install时,我得到一个错误。错误字符串包含:

代码语言:javascript
复制
maven-enforcer-plugin:3.0.0-M1:enforce failed: Unknown JDK version given. Should be something like "1.7"

我在机器上安装了多个Java版本,所以我应该有一些可供选择。我尝试在项目属性中设置不同的JRE依赖项,但没有效果。

再往上一点,有一个相关的输出:

代码语言:javascript
复制
[INFO] --- maven-enforcer-plugin:3.0.0-M1:display-info (display-info) @ ManualTestingMapper ---
[INFO] Maven Version: 3.3.9
[INFO] JDK Version: 1.8.0_162 normalized as: 1.8.0-162
[INFO] OS Info: Arch: amd64 Family: windows Name: windows 7 Version: 6.1
[INFO] 
[INFO] --- maven-enforcer-plugin:3.0.0-M1:enforce (display-info) @ ManualTestingMapper ---

我的Windows环境有JAVA_HOME=c:\Program Files (x86)\Java\jre8u152,路径也指向这个方向。

如何在eclipse中修复这个问题?我需要在每个项目级别上更改JDK版本。我用谷歌找不到任何有用的东西--这些对我来说都是死胡同。

编辑:我应该提一下,将Project Facets更改为Java 1.7会给出enforcer的输出:

代码语言:javascript
复制
[INFO] --- maven-enforcer-plugin:3.0.0-M1:display-info (display-info) @ ManualTestingMapper ---
[INFO] Maven Version: 3.3.9
[INFO] JDK Version: 1.7.0_80 normalized as: 1.7.0-80
[INFO] OS Info: Arch: amd64 Family: windows Name: windows 7 Version: 6.1
[INFO] 
[INFO] --- maven-enforcer-plugin:3.0.0-M1:enforce (display-info) @ ManualTestingMapper ---

但是关于需要JDK 1.7的错误仍然是一样的。

编辑:这是我的POM,我更新了is为中性的东西。

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SOGrouID</groupId>
  <artifactId>SOArtifactID</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>SOName</name>
  <description>SOName is a Stackoverflow Example.</description>
  <parent>
    <groupId>org.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>3.9</version>
  </parent>
</project>

父POM包含

代码语言:javascript
复制
<requireJavaVersion>
<version>[1.8.0,)</version>
</requireJavaVersion>

这引发了更多的问题,而不是答案。可以通过on github.检查整个父POM

编辑:运行maven goal Install -X会给出异常类型:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Unknown JDK version given. Should be something like "1.7"

我猜"1.7“可能是一个格式示例。如果是这样,那么插件可能会出现某种难以理解的格式字符串?

EN

回答 2

Stack Overflow用户

发布于 2018-05-25 19:27:24

感谢@Kai,他给我指明了家长POM的方向。有一堆属性被标记为you-must-override。其中之一就是

代码语言:javascript
复制
<java.level>you-must-override-the-java.level-property</java.level>

IllegalArgumentException来自给定的字符串。

在pom中覆盖该属性可以消除该问题。

代码语言:javascript
复制
  <properties>
    <java.level>8</java.level>
  </properties>  
票数 4
EN

Stack Overflow用户

发布于 2018-05-25 17:58:43

这个问题与您安装的Java版本无关。打开pom.xml并查找maven-enforcer-plugin。我猜这里的配置是错误的,应该是这样的:

代码语言:javascript
复制
<requireJavaVersion>
  <version>1.7</version>
</requireJavaVersion>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50525923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档