如何解决在linux上使用maven为Jenkins编译cobertura插件时丢失的工件



下面是一个stdout跟踪:

cobertura插件$mvn干净包[信息]正在扫描项目。。。[信息]------------------------------------------------------------------------[ERROR]生成错误[信息]------------------------------------------------------------------------[INFO]解析项目失败。缺少:----------1) com.sun:tools:jar:1.5请尝试从项目网站手动下载文件。然后,使用以下命令进行安装:mvn安装:安装文件-DgroupId=com.sun-DaritifactId=tools-Dversion=1.5-Dpackage=jar-Dfile=/path/to/file或者,如果您托管自己的存储库,则可以在那里部署文件:mvn-deploy:deploy-file-DgroupId=com.sun-DartifactId=tools-Dversion=1.5-Dpackage=jar-Dfile=/path/to/file-Durl=[url]-DrepositoryId=[id]依赖项的路径:1) org.jenkinsci.tools:maven-hpi插件:maven-plugin:1.672) org.kohsuke.stapler:maven stapler插件:jar:1.153) com.sun:tools:jar:1.5----------缺少1个必需的工件。对于工件:org.jenkinsci.tools:maven-hpi插件:maven-plugin:1.67从指定的远程存储库:中心(http://repo1.maven.org/maven2),m.g.o-public(http://maven.glassfish.org/content/groups/public/)[信息]------------------------------------------------------------------------[INFO]有关详细信息,请使用-e开关运行Maven[信息]------------------------------------------------------------------------[信息]总时间:1秒[信息]完成时间:美国东部时间2011年6月20日星期一22:25:17[信息]最终内存:9M/21M[信息]------------------------------------------------------------------------

您可能正面临此处讨论的问题。您的JAVA_HOME可能指向JRE而不是JDK。

在我看来,这就像一个bug,不确定它是在JDK中还是在Cobertura插件中。我只在Mac操作系统上得到错误,而且只有当我使用Cobertura插件时。一个对我有效的解决方法是将其添加到pom.xml中:

<profiles>
  <profile>
    <id>osx_profile</id>
    <activation>
     <os>
       <family>mac</family>
     </os>
    </activation>
    <dependencies>
     <dependency>
       <groupId>com.sun</groupId>
       <artifactId>tools</artifactId>
       <version>1.6</version>
       <scope>system</scope>
       <systemPath>${java.home}/../Classes/classes.jar</systemPath>
     </dependency>
    </dependencies>
  </profile>
</profiles>

最新更新