Maven项目使用本地Jar资源

当Maven项目需要使用非公开的jar包时,可以采取三种方式处理:1) 安装到本地repository,适合个人开发但不便于团队协作;2) 安装到Maven私服,推荐方法,需要配置认证信息并执行上传命令;3) 在项目内创建lib目录,按repository层级放入jar,方便新机器部署。

项目开发过程中,可能会遇到合作方提供的非公开jar包资源,Maven项目使用时就得先处理一下,不然maven可不知道如何去找不在库中的Jar文件。
本文列出列三种方式,大家酌情使用。

1. 将jar包安装到本地repository

这种方法,自己开发没什么问题,如果团队开发,所有人都需要执行一次,有版本变化,所有人又得执行一次,比较不推荐

mvn install:install-file -Dfile=xx-jar.jar -DgroupId=org.fun -DartifactId=xx-jar -Dversion=1.0 -Dpackaging=jar


# --
2. 安装到Maven 私服 (推荐方法)

定义明确:groupId artifactId version packaging
指定内容:jar路径 要传入仓库的url 仓库的id
一般上传需要这个仓库的特定权限,要在setting.xml配置好这个仓库的认证:

<servers>
	<server> 
	     <id>for-releases</id> 
	     <username>zhangsan</username> 
	     <password>admin123</password> 
	</server> 
</servers>

<profiles>
	<profile>
      <id>for-releases</id>
      <repositories>
            <repository>
              <id>for-releases</id>
              <name>local private nexus</name>
              <url>http://192.168.10.88:8081/nexus/content/repositories/releases/</url>
            </repository>
      </repositories>
    </profile>
</profiles>

命令行输入如下命令即可上传:

mvn deploy:deploy-file -DgroupId=org.fun -DartifactId=xx-jar -Dversion=1.0 -Dpackaging=jar -Dfile=/data/lib/xx-1.0.jar -Durl=http://192.168.10.88:8081/nexus/content/repositories/releases/ -DrepositoryId=for-releases



# --
3. 添加项目依赖repository ,在新机器上执行时就不用运行mvn install:install-file命令了

这种方式被称为 In project repository,在没有私服的情况下推荐使用。
在项目根目录下面创建一个lib目录,jar文件必须严格按本地repository的层级放入,即 /groupId/artifactId/version/artifactId-verion.jar,下面是引用方式

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/lib</url>
</repository>

<dependency>
    <groupId>org.fun</groupId>
    <artifactId>xx-jar</artifactId>
    <version>1.0</version>
</dependency>

本例中: lib/org/fun/xx-jar/1.0/xx-jar-1.0.jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值