我不想在Maven存储库(本地/远程)中安装几个jar。特别是我有几个jar文件位于
c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test.jar
c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test2.jar
使用NetBeans打开/编辑时如何将它们包含到我的项目中?
答案 0 :(得分:43)
创建一个包含公共存储库中不可用的jar的本地存储库
注意:我使用Eclipse,因此一些指令特定于Eclipse。大多数都很容易推广。
jar是由Maven在另一个项目中创建的,具有以下内容......
<groupId>com.foo</groupId>
<artifactId>test</artifactId>
<version>0.1.1</version>
<packaging>jar</packaging>
定义本地存储库
<repositories>
<repository>
<id>data-local</id>
<name>data</name>
<url>file://${project.basedir}/repo</url>
</repository>
</repositories>
在本地jar上添加依赖项。从上面的例子中可以看出......
<dependency>
<groupId>com.foo</groupId>
<artifactId>test</artifactId>
<version>0.1.1</version>
</dependency>
答案 1 :(得分:22)
您是否考虑将这两个JAR添加为system
dependencies?如,
<project>
...
<dependencies>
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
...
</project>
请注意,这是不推荐的,如果有的话,应该非常谨慎地使用。
答案 2 :(得分:13)
过去,我通过在项目本身中创建“本地”存储库目录树来完成此操作,并通过声明具有项目相对路径的本地存储库在POM中引用它。
但这是一个黑客。 (也许不是那么hacky - 根据@Pascal的评论。尽管使用了一年左右,我仍然是一个Maven新手。)
答案 3 :(得分:7)
其他答案都不适合我。我不得不运行一个稍微不同的命令......
mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0
请参阅本文中的完整步骤:https://devcenter.heroku.com/articles/local-maven-dependencies