目前我有一个 Maven2 项目,它会在您运行时构建一个 JAR:
mvn clean package
我现在需要调整 pom.xml
将此 JAR ( myapp.jar
) 发布到运行在以下位置的 Artifactory 服务器:
http://myartifactory/artifactory/simple/myorg/myapp/0.1
我尝试添加 <repositories>
我的元素 pom.xml
但此配置未发布任何内容:
<repositories>
<repository>
<id>myartifactory</id>
<url>http://myartifactory/artifactory/simple/</url>
</repository>
</repositories>
关于如何让发布工作有任何想法吗?为简单起见,假设此 Artifactory 存储库已通过身份验证以接受来自具有 username=foo
的用户的发布/写入。和 password=bar
.
最佳答案
您有两种选择(请注意,后者是推荐的一种):
添加DistributionManagement
部分到您的 pom 和 server
属于你的 settings.xml
- 假设您要部署到 libs-snapshot-local 存储库。在这种情况下,您需要转到 Artifactory 中的树浏览器,关注存储库级别,复制
Distribution Management
片段并将其粘贴到您的pom.xml
中: - 接下来,您需要将凭据告诉 Maven。为此,请单击右上角的用户名,输入密码以解锁屏幕,复制
server
来自Maven Settings
的标签控制板: 这个你粘贴在你的settings.xml
.不要忘记将 ${server-id} 替换为真实的服务器 ID(您现在在 Distribution Management 中拥有的那个)。 - 现在,运行
mvn deploy
并享受。
使用 Maven Artifactory 插件:
- 添加相关的
<plugin>
wiki 中描述的部分给你的pom.xml
.它包括目标存储库和凭据(请使用外部凭据源,如环境变量或系统属性)。 - 运行
mvn deploy
不仅可以部署到 Artifactory,还可以享受如下所述的其他功能。
Artifactory Maven 插件的附加功能(在常规 Maven 部署之上):
- 允许添加custom properties到部署的文件
- 提供构建 Material list (buildInfo),允许 Build Integration使用任何构建服务器(甚至那些不受 JFrog 支持的服务器),甚至使用独立构建(根本没有构建服务器)。
关于java - 如何配置 Maven2 发布到 Artifactory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24122382/