Maven常用操作:上传jar包

前言

如果项目是以jar包的形式使用,普通的工具类或者springboot的可执行包,都需要上传到远程仓库保存共享。

使用Maven上传

Maven中提供了<distributionManagement>标签,可以非常方便上传.

一个简单的示例:

  <distributionManagement>
    <snapshotRepository>
      <id>swb</id>
      <url>http://repo.cnswb.com/repository/maven-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

这里配置了一个snapshotRepository,就是开发中使用最多的快照仓库.

使用mvn deploy命令即可实现快照版上传.

这里的上传可能会受到限制,比如远程仓库设置了不允许匿名操作,那可能就会出现权限错误,此时需要在全局设置中配置server用户名密码信息,它们通过id一一对应.这里idswb,那么在需要登录信息时,就会在servers中找到对应的idswbserver信息(包含用户名密码)来鉴权.

distributionManagement

仓库配置

除了snapshotRepository,还有个repository与之对应,也就是发布版.

它和snapshotRepository的子标签完全一样.

上例中只是展示了关键标签,其完整信息是:

        <snapshotRepository>
            <id>swb-snapshot</id>
            <name>swb-snapshot</name>
            <layout>default</layout>
            <uniqueVersion>true</uniqueVersion>
            <url>http://repo.cnswb.com/repository/maven-snapshots/</url>
        </snapshotRepository>

规则

如果只配置了一个仓库,那么此工程的版本号命名必须遵循:

  • 如果是snapshotRepository,版本号必须是以-SNAPSHOT结尾
  • 如果是repository,版本号必须不是-SNAPSHOT结尾

如果两种仓库都配置了,那么会根据版本号选择合适的仓库上传.这是最为合乎情理的方式.

deploy
是否是快照版:
以-SNAPSHOT结尾
snapshotRepository
repository
是否鉴权
上传
鉴权成功
结束
报错

其他配置

relocation

不常用,因为很多人根本不会去看这个.

这是一个纯展示的标签,不会对本工程的deploy造成影响,只是用来告诉开发者本工程座标的调整信息:

        <relocation>
            <groupId>org.example</groupId>
            <artifactId>hello_maven</artifactId>
            <version>1.1-SNAPSHOT</version>
            <message>原hello_maven已废弃,请使用</message>
        </relocation>

downloadUrl

项目下载页面的网址。 如果未提供,则会将用户转到url提供的主页。 这样做是为了帮助查找由于许可限制而不在存储库中的工件。

<downloadUrl>http://${another_repository_host}</downloadUrl>

site

部署项目网站所需的信息。

        <site>
            <id>${id}</id>
            <name>${name}</name>
            <url>http://${host}</url>
        </site>

status

不要人为在本地配置!!!上传时MAVEN自动接管,虽然看不见效果在哪

表示在远程存储库中提供此工件的状态,它会通过将其防止在存储库中的工具进行更新,因此不要在本地配置.

它是一个枚举项:

  • none: 默认
  • converted: 存储库从Maven 1 POM转换此值
  • partner: 从合作伙伴Maven 2存储库直接同步
  • deployed: 已从Maven 2实例部署
  • verified: 已手工处理,验证为正确且最终的

参考

  1. mermaid
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章