如何将本地jar文件(还不是Maven存储库的一部分)直接添加到项目的库源中?
当前回答
还可以看看。。。
<scope>compile</scope>
Maven依赖项。这是默认设置,但我发现在某些情况下,也会显式设置Maven的作用域,以便在本地存储库中查找本地库。
其他回答
根项目上进行构建
您可以在命令行中编写以下代码,或者如果您使用eclipse内置maven,右键单击项目->运行方式->运行配置…->在左侧面板中,右键单击Maven Build->new configuration->在基本目录中的Goals&中编写代码:${project_loc:NameOfYourProject}->运行
mvn install:install-file
-Dfile=<path-to-file>
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>
-DgeneratePom=true
其中每一个都指:
<path to file>:要加载的文件的路径,例如->c:\kapcha-2.3jar
<group id>:文件应在例如com.google.code下注册的组
<artifact-id>:文件的工件名称,例如->kappcha
<version>:文件的版本,例如->2.3
<package>:文件的打包,例如->jar
2.安装后,只需在pom.xml中声明jar。
<dependency>
<groupId>com.google.code</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3</version>
</dependency>
在本地存储库中,您可以通过发出以下命令来安装jar
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
点击这个有用的链接,从mkyoung的网站进行同样的操作。您也可以查看maven指南
当然,您可以将jar添加到该文件夹中。但也许这并不是你想要实现的。。。
如果您需要这些jar进行编译,请检查这个相关问题:我可以在不安装jar的情况下将它们添加到maven 2构建类路径吗?
此外,在任何人提出建议之前,不要使用系统范围。
由于某种原因,在我正在维护的web应用程序中,Alireza Fattahi的解决方案和JJ Roman的解决方案都不能正常工作。在这两种情况下,编译都是正常的(它看到了jar),但包装没有将jar包含在战争中。
我设法使其工作的唯一方法是将jar放在/src/main/webapp/WEB-INF/lib/上,然后将其与Fattahis或Roman的解决方案结合。
这是较新版本的简短语法:
mvn install:install-file -Dfile=<path-to-file>
当JAR由ApacheMaven构建时,这是最常见的情况。然后它将在META-INF目录的子文件夹中包含一个pom.xml,默认情况下将读取该文件。
资料来源:http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
推荐文章
- 在Java中从字符串中提取数字
- 套接字的连接超时和读超时之间的区别是什么?
- Java整数到字节数组
- 如何设置Windows环境下Java的环境变量
- Java Swing revalidate() vs repaint()
- Java中文件中的行数
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 对于一个布尔字段,它的getter/setter的命名约定是什么?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 如何计算一个元素在列表中出现的次数
- c++中类似于java的instanceof
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何POST表单数据与Spring RestTemplate?
- Mockito中检测到未完成的存根