如何在Maven项目中包含本地jar文件
我不想在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打开/编辑时如何将它们包含到我的项目中?
您是否考虑将这两个JAR添加为system
依赖项 ? 例如,
... sun.jdk tools 1.5.0 system ${java.home}/../lib/tools.jar ...
请注意,这是不推荐的,如果有的话,应该非常谨慎地使用。
虽然它可以使用systemPath引用,但最好创建一个本地存储库。 幸运的是,这很容易做到。
创建一个本地存储库,其中包含公共存储库中不可用的jar文件
注意:我使用Eclipse,因此一些指令特定于Eclipse。 大多数都很容易推广。
假设
-
这个jar子是由Maven在另一个项目中创建的,具有以下内容……
com.foo test 0.1.1 jar
在项目中(想要访问jar子)
- 在项目基目录下创建repo目录
- 对于每个本地访问的jar …
- 为groupID的每个级别添加目录(例如/ repo / com / foo )
- 添加jar名称(aka artifactId)没有版本(例如/ repo / com / foo / test )
- 添加jar版本的目录(例如/ repo / com / foo / test /0.1.1 )
- 将jar放在该目录中(例如/repo/com/foo/test/0.1.1 /test-0.1.1.jar )
在pom.xml中(对于想要访问jar的项目)
-
定义本地存储库
data-local data file://${project.basedir}/repo -
添加对本地jar的依赖。 从上面的例子来看,这将是……
com.foo test 0.1.1
重建
- Rt单击pom.xml – >运行为 – > Maven构建
在过去,我通过在项目本身中创建“本地”存储库目录树来完成此操作,并通过声明具有项目相对路径的本地存储库在POM中引用它。
但这是一个黑客。 (也许不是那么hacky – 根据@Pascal的评论。尽管使用了一年左右,我仍然是一个Maven新手。)
没有其他答案对我有用。 我不得不运行一个稍微不同的命令……
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
- 如何在jar中validationMANIFEST.MF的顺序?
- 线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:资源路径中找不到jnidispatch(/ com / sun /jna/win32-x86/jnidispatch.dll)
- 在Wildfly 10应用程序中使用jboss-client.jar的最佳方法是什么?
- 如何使用Jar文件在IntelliJ IDEA中设置运行/调试配置?
- 在运行时交换正在运行的jar
- 声音没有在jar子里播放
- Netbeans Export to Jar,包括所有库文件
- jar文件夹中的资源列表?
- 尝试在命令提示符下运行.jar文件