我在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>
Run Code Online (Sandbox Code Playgroud)
当我运行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]
Run Code Online (Sandbox Code Playgroud)
问题是它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
Run Code Online (Sandbox Code Playgroud)
有趣的是:当我设置依赖的完整路径时,它工作得很好.但我不想硬编码.
<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>
Run Code Online (Sandbox Code Playgroud)
有人可以建议任何动态解决方案吗?