如何向maven本地仓库添加jar包?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向maven本地仓库添加jar包?相关的知识,希望对你有一定的参考价值。

参考技术A 原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。\\x0d\\x0a考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。\\x0d\\x0a\\x0d\\x0a比如我下载了\\x0d\\x0alucene-queryparser-4.6.1.jar\\x0d\\x0a\\x0d\\x0a怎么添加到本地仓库呢?\\x0d\\x0a步骤:\\x0d\\x0a1.cmd命令进入该jar包所在路径\\x0d\\x0a2.执行命令\\x0d\\x0amvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar\\x0d\\x0a(不同的jar包相对应替换对应部分)\\x0d\\x0a\\x0d\\x0a另外我尝试了下面的方法,发现不行:\\x0d\\x0a直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。\\x0d\\x0a\\x0d\\x0a补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:\\x0d\\x0amvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar\\x0d\\x0a\\x0d\\x0a就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。\\x0d\\x0a对于maven中存在classifier的,例如\\x0d\\x0a\\x0d\\x0a org.apache.hadoop\\x0d\\x0a hadoop-hdfs\\x0d\\x0a 2.2.0\\x0d\\x0a tests\\x0d\\x0a \\x0d\\x0a\\x0d\\x0a就加一个-D参数就可以了,如下:\\x0d\\x0amvn 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

如何在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>

像这样把包拷到项目里面,然后指定到项目下面就可以了。

参考技术A 原则上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
参考技术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本地仓库添加jar包?的主要内容,如果未能解决你的问题,请参考以下文章

maven 本地仓库 jar包放在哪

Maven——向Maven本地仓库中手动添加依赖包(ps:ojdbc.jar)

如何把本地仓库批量上传到maven仓库

如何在maven中添加本地jar包

如何将本地jar导入到maven的本地仓库

如何批量更新本地仓库中的jar包