1. 获取 Maven 的 settings.xml 文件

Artifactory -> Artifacts -> Set Me Up

发布制品到 Jfrog Artifactory_maven

点击 Set Me Up

发布制品到 Jfrog Artifactory_python_02

发布制品到 Jfrog Artifactory_git_03

  • Type password to insert your credentials to the code snippets 如果输入密码的话,生成的settins.xml文件有密码;否则不会生成密码
  • Releases  jar发布版本的仓库
  • Snapshots jar快照版本的仓库
  • Plugin Releases 插件发版版本的仓库
  • Plugin Snapshots 插件快照版本的仓库

因为没有根据不同仓库类型创建不同的仓库,所以这里都选 dev_group

输入密码(要点击小锁图标才会生成密码,否则即使输入了也不会生成密码),然后点击Generate Settings

发布制品到 Jfrog Artifactory_maven_04

点击Download Snippet,即可下载 settings.xml 文件

发布制品到 Jfrog Artifactory_maven_05

另外,密码的获取也可以通过以下方式获得

发布制品到 Jfrog Artifactory_python_06

输入Pasword,然后点击Unlock

发布制品到 Jfrog Artifactory_java_07

找到Encrypted Pasword,点击复制图标,即可把加密密码复制到剪贴板

发布制品到 Jfrog Artifactory_maven_08

2. 修改 settings.xml 文件

下载下来的 settings.xml 文件,servers节点的配置不对的,以下是下载下来的settings.xml文件的内容

<servers>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"AP618vz432Djy5gwWfBu5jWR5hL"}</password>
      <id>central</id>
    </server>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"AP618vz432Djy5gwWfBu5jWR5hL"}</password>
      <id>snapshots</id>
    </server>
  </servers>

需要把username和pasword修改正确,修改后

<servers>
    <server>
      <username>admin</username>
      <password>AP618vz432Djy5gwWfBu5jWR5hL</password>
      <id>central</id>
    </server>
    <server>
      <username>admin</username>
      <password>AP618vz432Djy5gwWfBu5jWR5hL</password>
      <id>snapshots</id>
    </server>
</servers>

修改后,即可把该文件替换Maven安装目录下conf目录的settings.xml文件了。

3. 将 Maven 工程发布到 Jfroy Artifactory

  • 在项目中的 pom.xml 文件中添加如下代码
<distributionManagement>
    <repository>
        <id>central</id>
        <name>Releases Repository</name>
        <url>http://localhost:8082/artifactory/local-repos/</url>
    </repository>
     <snapshotRepository>
          <id>snapshots</id>
          <name>Snapshot Repository</name>
          <url>http://localhost:8082/artifactory/local-repos/</url>
      </snapshotRepository>
</distributionManagement>

这里的 id,需要跟 settings.xml 文件的 server 节点的一一对应;url节点的地址使用Local Repository的地址

发布制品到 Jfrog Artifactory_java_09

  • 在 pom.xml 文件所在路径下执行
mvn clean deploy

注意:正常 release 仓库与 snapshot 仓库应该分开,这里做了偷懒。发布在 release 仓库的 jar 包 version 命名中必须包含 RELEASE;同理,发布在 snapshot 仓库的 jar 包 version 命名中必须包含 SNAPSHOT。

  • 检查发布情况

发布制品到 Jfrog Artifactory_java_10

参考: https://www.jfrog.com/confluence/display/JFROG/Maven+Repository