【发布时间】:2012-10-28 15:09:16
【问题描述】:
我在 windows 环境下使用 maven 编译我的项目。虽然我刚刚创建了项目并添加了各种库的依赖项。
当我添加它们时,maven 开始抱怨缺少tools.jar,所以我在下面添加到我的pom.xml:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
当我运行 maven 安装时,我收到一个缺少 jar 的错误,如下所示:
[ERROR] Failed to execute goal on project GApp: Could not resolve dependencies for project GApp:GApp:war:0.0.1-SNAPSHOT: Could not find artifact com.sun:tools:jar:1.6 at specified path C:\Program Files\Java\jre6\lib\tools.jar -> [Help 1]
问题是tools.jar 位于“C:\Program Files\Java\jdk1.6.0_26\lib”中,并且在JAVA_HOME 环境变量中设置正确,但 maven 仍在查看 jre 文件夹,如错误消息“C:\Program Files\Java\jre6\lib\tools.jar”中所示。
C:\>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26
有趣的是:当我设置完整的依赖路径时,它工作得很好。但我不想硬编码。
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar</systemPath>
</dependency>
有人可以为此建议任何动态解决方案吗?
【问题讨论】:
-
${java.home} 的值是多少?
-
您是从命令行还是在 Eclipse 或 IntelliJ 等 IDE 中运行 Maven?
-
@metalmadz JAVA_HOME 是环境变量
-
@cuberoot,我在 Eclipse 中运行它
-
我一直避免将 JDK/JRE 放置在包含空格的目录中(参见“程序文件”),因为这会与 Maven 混淆。也许试试看?