我有几个内部库,我没有/不知道如何添加到我的本地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
Run Code Online (Sandbox Code Playgroud)
我怎么告诉maven一个我偷偷添加到我项目的类路径中的jar,以便它可以用它来编译?
我不确定你是否可以在没有大量hackary的情况下访问系统类路径.您可以执行以下两项操作之一:系统范围依赖项或将其添加到本地存储库.
要使用系统依赖关系,只需为要添加的每个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>
Run Code Online (Sandbox Code Playgroud)
如果您坚持更改位置和编译时间,则可以使用-D jvm属性.
将它们添加到本地仓库有点痛苦,但更长远的解决方案.
| 归档时间: |
|
| 查看次数: |
4643 次 |
| 最近记录: |