如何在maven中添加本地jar包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在maven中添加本地jar包相关的知识,希望对你有一定的参考价值。
<dependency><groupId>javabuilder</groupId>
<artifactId>javabuilder</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>$project.basedir/src/main/webapp/WEB-INF/lib/javabuilder.jar
</systemPath>
</dependency>
像这样把包拷到项目里面,然后指定到项目下面就可以了。
考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-4.6.1.jar
怎么添加到本地仓库呢?
步骤:
1.cmd命令进入该jar包所在路径
2.执行命令
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
<classifier>tests</classifier>
</dependency>
就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0-tests.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -Dclassifier=tests -Dpackaging=jar 参考技术B 原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。
考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-4.6.1.jar
怎么添加到本地仓库呢?
步骤:
1.cmd命令进入该jar包所在路径
2.执行命令
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
<classifier>tests</classifier>
</dependency>
就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0-tests.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -Dclassifier=tests -Dpackaging=jar 参考技术C 方法/步骤
1
先创建一个基于maven的项目,点击打开pom.xml文件
2
点击Dependencies标签页,然后点击Dependencies中的add按钮,输入我们想添加的jar包名字,就会出现下图中所示,它会把对应名称的所有版本jar包列出来
3
点击OK之后,在pom.xml会带回jar包的信息,type表示依赖包的类型,Scope表示这个依赖包的作用周期等等
4
保存后install maven,然后再点开项目中的Maven Dependencies就会发现多了相应的jar包了 参考技术D 仓库指向本地,依赖指向本地jar包即可
(转)如何在maven的pom.xml中添加本地jar包
1 maven本地仓库认识
maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下所示:
1 groupId
2 artifactId
3 version
4 jar包的依赖
如果要将maven本地仓库中的jar包添加到项目中,直接打开4 xx.pom文件,将改jar包的相关依赖复制pom.xml文件中即可。
2 将本地jar包添加到本地仓库
2.1 添加jar到本地仓库
原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。
但也有特殊情况。
比如我下载了
lucene-queryparser-4.6.1.jar
怎么添加jar到本地仓库呢?
步骤:
1.cmd命令进入该jar包所在路径
(快捷键:shift+右键 选择在此处打开命令行窗口)
ps:jar包可以在任意一个文件夹目录下面,不要放在分区的根目录,也不要自己去创建maven中的相关目录。
不需要去创建相关目录,mvn install之后会自动将相关的jar包放入本地仓库。
2.执行命令:
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar
其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。
一般用的jar包都是在mven仓库中下载的,所以groupId和artifactId直接将复制maven仓库中的设置即可。
<!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-queryparser --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queryparser</artifactId> <version>4.6.1</version> </dependency>
比如:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -D -Dpackaging=jar
就是指把hadoop-hdfs-2.2.0.jar安装到repository\\org.apache.hadoop\\hadoop-hdfs\\2.2.0目录下,执行完命令后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.2.0</version> </dependency>
ps:执行上述命令后,在该jar包所在目录中会生成一个 jar包名字.pom的文件,里面有描述改jar包的坐标信息。
提示:文件目录只是标识jar的位置,也可以直接把目录下的jar包替换,就能够用以前的坐标,在项目中导入替换的jar包。这么做比较省事,但是并不提倡这么做。
注意,在命令中,每个参数前有个-D标识。
2.2 添加lib目录下的jar包到本地仓库
怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?
1、首先将要添加的jar包复制到项目中的libs文件夹下
2、然后在pom.xml中添加如下代码:
<dependency>
<groupId>htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.21-OSGi</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/htmlunit-2.21-OSGi.jar</systemPath>
</dependency>
注意libs文件夹下的这个jar包不需要Add to Build Path
(该方法并未做尝试)
下面是maven中央仓库的地址:
http://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit/2.21
可以在这里搜索想要的jar包,然后复制对应的依赖代码到你项目中的pom.xml中,则对应的jar包将下载到你本地的maven仓库中,以提供给你使用。
以上是关于如何在maven中添加本地jar包的主要内容,如果未能解决你的问题,请参考以下文章