zoukankan      html  css  js  c++  java
  • 如何将jar包加入到Maven本地仓库

    原则上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

    就是安装到了repositoryfreemarkerfreemarker2.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
  • 相关阅读:
    mysql表的完整性约束
    Web服务器Tomcat集群与负载均衡技术
    集群中几种session同步解决方案的比较[转]
    web集群时session同步的3种方法[转]
    WEB 集群与负载均衡(一)基本概念-上
    传输层负载均衡实现原理
    企业级web负载均衡完美架构
    高可用负载均衡最佳实践三: 设计
    网站架构之负载均衡
    使用nginx sticky实现基于cookie的负载均衡
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/5948561.html
Copyright © 2011-2022 走看看