1. 获取 Maven 的 settings.xml 文件
Artifactory -> Artifacts -> Set Me Up
点击 Set Me Up
- Type password to insert your credentials to the code snippets 如果输入密码的话,生成的settins.xml文件有密码;否则不会生成密码
- Releases jar发布版本的仓库
- Snapshots jar快照版本的仓库
- Plugin Releases 插件发版版本的仓库
- Plugin Snapshots 插件快照版本的仓库
因为没有根据不同仓库类型创建不同的仓库,所以这里都选 dev_group
输入密码(要点击小锁图标才会生成密码,否则即使输入了也不会生成密码),然后点击Generate Settings
点击Download Snippet,即可下载 settings.xml 文件
另外,密码的获取也可以通过以下方式获得
输入Pasword,然后点击Unlock
找到Encrypted Pasword,点击复制图标,即可把加密密码复制到剪贴板
2. 修改 settings.xml 文件
下载下来的 settings.xml 文件,servers节点的配置不对的,以下是下载下来的settings.xml文件的内容
代码语言:javascript复制<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修改正确,修改后
代码语言:javascript复制<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的地址
- 在 pom.xml 文件所在路径下执行
mvn clean deploy
注意:正常 release 仓库与 snapshot 仓库应该分开,这里做了偷懒。发布在 release 仓库的 jar 包 version 命名中必须包含 RELEASE;同理,发布在 snapshot 仓库的 jar 包 version 命名中必须包含 SNAPSHOT。
- 检查发布情况
参考: https://www.jfrog.com/confluence/display/JFROG/Maven Repository