怎么找jar包在maven中央仓库的位置
1个回答
2017-07-09
展开全部
原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。比如我下载了lucene-queryparser-4.6.1.jar怎么添加到本地仓库呢?步骤:1.cmd命令进入该jar包所在路径2.执行命令mvninstall: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包。比如:mvninstall: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的,例如org.apache.hadoophadoop-hdfs2.2.0tests就加一个-D参数就可以了,如下:mvninstall: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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询