我有几个内部库,我还没有/不知道如何添加到我的本地 Maven 存储库中。我已将它们添加到项目的类路径中,但我的 maven-compile 失败,指出它无法在外部 jar 中找到类(如预期):
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project proj: Compilation failure: Compilation failure:
dir\src\main\java\package\MyClass.java:[8,25] package blah does not exist
dir\src\main\java\package\MyClass.java:[9,25] package blah does not exist
dir\src\main\java\package\MyClass.java:[21,12] cannot find symbol
symbol : variable Blah
location: class package.MyClass
dir\src\main\java\package\MyClass.java:[28,9] cannot find symbol
symbol : variable Blah
location: class package.MyClass
如何告诉 maven 我偷偷添加到项目类路径中的 jar,以便它可以使用它进行编译?
我不确定您是否可以在没有大量黑客操作的情况下访问系统类路径。您可以执行其他两件事之一:系统范围依赖项或将其添加到本地存储库。
要使用系统依赖性 http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies,只需为您要添加的每个 jar 添加一个条目。给他们范围“系统”并添加<systemPath>
每一个。像这样的东西。
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
如果您坚持更改位置和编译时间,则可以使用 -D jvm 属性。
将它们添加到本地仓库 http://maven.apache.org/plugins/maven-install-plugin/usage.html虽然有点痛苦,但这是更长远的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)