如何在使用maven为Linux上的Jenkins编译cobertura-plugin时解决丢失的工件问题

时间:2011-06-21 02:30:08

标签: maven jenkins cobertura

以下是stdout追踪:

cobertura-plugin$ mvn clean package
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) com.sun:tools:jar:1.5

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
      mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
    1) org.jenkins-ci.tools:maven-hpi-plugin:maven-plugin:1.67
    2) org.kohsuke.stapler:maven-stapler-plugin:jar:1.15
    3) com.sun:tools:jar:1.5

----------
1 required artifact is missing.

for artifact: 
  org.jenkins-ci.tools:maven-hpi-plugin:maven-plugin:1.67

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  m.g.o-public (http://maven.glassfish.org/content/groups/public/)



[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Mon Jun 20 22:25:17 EDT 2011
[INFO] Final Memory: 9M/21M
[INFO] ------------------------------------------------------------------------

2 个答案:

答案 0 :(得分:2)

您可能面临所讨论的问题here。你的JAVA_HOME可能指向JRE而不是JDK。

答案 1 :(得分:1)

在我看来,这似乎是一个错误,不确定它是在JDK还是在Cobertura插件中。我只在Mac OS上得到错误,并且只有在我使用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>