把本地jar包依赖上传到maven私服仓库中

场景:对接第三方,需要加入第三方jar依赖,例如:my-sm-basic-1.3.1.jar
要将 my-sm-basic-1.3.1.jar 上传到 Maven 私有仓库中,你通常需要以下步骤。这里我假设你已经有一个运行中的 Maven 私有仓库,如 Nexus 或 Artifactory。

1. 准备 POM 文件

如果你没有 POM 文件,你需要创建一个。POM 文件描述了 Maven 项目的元数据。以下是一个简单的 POM 文件示例,用于 my-sm-basic:

<project xmlns="http://maven.apache.org/POM/4.0.0"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
  
    <groupId>cn.com.my.sm</groupId>  
    <artifactId>my-sm-basic</artifactId>  
    <version>1.3.1</version>  
    <packaging>jar</packaging>  
  
    <!-- 其他可能的元素,如依赖、描述等 -->  
</project>

将上述内容保存为 pom.xml 文件。

  1. 使用 Maven Deploy 插件上传 JAR
    在包含 pom.xml 和 my-sm-basic-1.3.1.jar 的目录中,执行以下 Maven 命令来上传 JAR 到私有仓库:
mvn deploy:deploy-file \  
    -DgroupId=cn.com.xib.sm \  
    -DartifactId=my-sm-basic \  
    -Dversion=1.3.1 \  
    -Dpackaging=jar \  
    -Dfile=my-sm-basic-1.3.1.jar \  
    -DrepositoryId=your-repo-id \  
    -Durl=http://your-repo-url/repository/your-repo-name/

在这里:

  • your-repo-id 是你在 Maven 的 settings.xml 文件中配置的服务器 ID。
  • http://your-repo-url/repository/your-repo-name/ 是你的 Maven 私有仓库的 URL 和仓库名称。

3. 配置 Maven 的 settings.xml

确保你的 Maven settings.xml 文件中包含了用于身份验证的服务器配置。这通常位于你的 Maven 安装目录的 conf 子目录中的 settings.xml 文件中,或者位于你的用户目录下的 .m2 子目录中。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"  
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0  
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">  
  <servers>  
    <server>  
      <id>your-repo-id</id>  
      <username>your-username</username>  
      <password>your-password</password>  
    </server>  
  </servers>  
  <!-- 其他可能的配置 -->  
</settings>

将 your-repo-id、your-username 和 your-password 替换为你的私有仓库的相应值。

4. 执行命令并验证

执行 Maven 命令后,你应该会看到输出表明 JAR 文件已成功上传。然后,你可以登录到你的 Maven 私有仓库的管理界面,验证 JAR 文件是否已正确上传。

注意事项

确保你的 Maven 私有仓库支持 HTTP(尽管出于安全原因,通常建议使用 HTTPS)。
如果你的 Maven 私有仓库需要特定的分发管理配置(如 snapshot 仓库和 release 仓库分开),请确保你的 pom.xml 文件和 Maven 命令反映了这些配置。
如果你的 Maven 私有仓库需要特定的认证方法(如 API 密钥、OAuth 令牌等),请按照仓库的文档进行配置。

补充

有些私服需要区别snapshots和releases

比如我上传的私服地址是:
http://nexus.chaoge.com/nexus/content/repositories/snapshots
只能上传 版本号后缀是 ‘-SNAPSHOT’

解决方法就是重命名jar为:my-sm-basic-1.3.1-SNAPSHOT.jar
pom.xml修改为:

<project xmlns="http://maven.apache.org/POM/4.0.0"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
  
    <groupId>cn.com.my.sm</groupId>  
    <artifactId>my-sm-basic</artifactId>  
    <version>1.3.1-SNAPSHOT</version>  
    <packaging>jar</packaging>  
  
    <!-- 其他可能的元素,如依赖、描述等 -->  
</project>

maven命令修改为:

mvn deploy:deploy-file \  
    -DgroupId=cn.com.xib.sm \  
    -DartifactId=my-sm-basic \  
    -Dversion=1.3.1-SNAPSHOT \  
    -Dpackaging=jar \  
    -Dfile=my-sm-basic-1.3.1-SNAPSHOT.jar \  
    -DrepositoryId=your-repo-id \  
    -Durl=http://your-repo-url/repository/your-repo-name/
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值