我需要将JDK的tools.jar添加为项目依赖项。
将其设置为普通依赖项不起作用,因为在将其安装到Maven存储库时,它会向jar文件添加版本号。此后,当我需要需要tools.jar的东西在类路径中时,它会失败。
使用系统范围并使用<设置jar的路径systemPath>应该解决问题。但是,尽管在测试中jar被添加到类路径中,但在运行时它不是。
有解决方法吗?
顺便说一句,我添加了< useManifestOnlyJar> false< / useManifestOnlyJar>到surefireplugin,以便我可以看到类路径中的每个文件。
答案 0 :(得分:3)
Maven是否在JDK中运行?
找出它正在运行的Java版本,
mvn -ver
将您的JAVA_HOME env变量设置为指向JDK。
答案 1 :(得分:1)
如果JDK中没有包含它,请使用系统范围,请参阅FAQ
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<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>
</profiles>