我想结帐声纳,所以我将以下代码段添加到我的pom.xml中,依赖部分取自http://maven.apache.org/general.html#tools-jar-dependency
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:derby://localhost:1527/sonar;create=true</sonar.jdbc.url>
<sonar.jdbc.driverClassName>org.apache.derby.jdbc.ClientDriver
</sonar.jdbc.driverClassName>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://localhost:8080/sonar</sonar.host.url>
</properties>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.4.2</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
不幸的是,错误仍然存在
Embedded error: Missing:
----------
1) com.sun:tools:jar:1.4.2
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.4.2 -Dpackaging=jar -Dfile=/path/to/file
我还遵循了建议,将缺少的jar手动添加到存储库,这没有任何效果。
mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=$JAVA_HOME/lib/tools.jar
我做错了什么?
编辑:
我确认tools.jar已添加到我的本地存储库中。在调试模式下,maven显示错误:
1 required artifact is missing.
for artifact:
group:artifact:war:1.0.0-BUILD-SNAPSHOT
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
答案 0 :(得分:3)
你在日食中运行吗?如果答案是肯定的,那么这是一个令人烦恼且非常容易被误解的问题。看看我的回答here
当你启动时,你可能没有将eclipse指向正确的jre / jdk(这是你不一定配置的东西,而不是Windows)
答案 1 :(得分:1)
我曾经遇到的一个问题是Mac OS下tools.jar
的不同位置。这是解决问题的配置文件部分:
<profiles>
<profile>
<id>java-home-parent-lib-tools-jar</id>
<activation>
<activeByDefault>false</activeByDefault>
<file>
<exists>${java.home}/../lib/tools.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>java-home-parent-classes-classes-jar</id>
<activation>
<activeByDefault>false</activeByDefault>
<file>
<exists>${java.home}/../Classes/classes.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../Classes/classes.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
但是我不确定这是你面临的事情。
答案 2 :(得分:0)
如果您的JAVA_HOME指向您的jdk(例如/usr/lib/jvm/jdk1.6.0_33
),则 tools.jar 配置(${java.home}/../lib/tools.jar
)表示应该有工具jar < / strong>具有以下路径:/usr/lib/jvm/lib/tools.jar
。
如果您将工具jar路径更改为$ {java.home} /lib/tools.jar并验证JAVA_HOME/lib
中是否有 tools.jar 文件,则应该工作
There你可以找到相关的jira。