Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何配置Maven2以发布到Artifactory?_Java_Maven_Artifactory_Publish - Fatal编程技术网

Java 如何配置Maven2以发布到Artifactory?

Java 如何配置Maven2以发布到Artifactory?,java,maven,artifactory,publish,Java,Maven,Artifactory,Publish,目前,我有一个Maven2项目,在运行时构建一个JAR: mvn clean package 我现在需要调整pom.xml以将此JAR(myapp.JAR)发布到运行在以下位置的Artifactory服务器: http://myartifactory/artifactory/simple/myorg/myapp/0.1 我尝试将元素添加到我的pom.xml中,但没有使用此配置发布任何内容: <repositories> <repository>

目前,我有一个Maven2项目,在运行时构建一个JAR:

mvn clean package
我现在需要调整
pom.xml
以将此JAR(
myapp.JAR
)发布到运行在以下位置的Artifactory服务器:

http://myartifactory/artifactory/simple/myorg/myapp/0.1
我尝试将
元素添加到我的
pom.xml
中,但没有使用此配置发布任何内容:

<repositories>
    <repository>
        <id>myartifactory</id>
        <url>http://myartifactory/artifactory/simple/</url>
    </repository>
</repositories>

我的人工工厂
http://myartifactory/artifactory/simple/
关于我如何让出版业开始工作,有什么想法吗?为简单起见,假设此Artifactory repo已通过身份验证,可以接受来自具有
username=foo
password=bar
的用户的发布/写入。您有两个选项(请注意,建议使用后者):

DistributionManagement
部分添加到pom中,并将
server
部分添加到
settings.xml中

  • 假设您要部署到libs快照本地存储库。在这种情况下,您需要转到Artifactory中的树浏览器,关注存储库级别,复制
    分发管理
    片段并将其粘贴到
    pom.xml
  • 接下来,您需要告诉maven凭据。为此,单击右上角的用户名,输入密码以解锁屏幕,从
    Maven设置面板复制
    server
    标记: 这是您粘贴到
    settings.xml
    中的一个。不要忘记将${server id}替换为真实的服务器id(您现在在分发管理中拥有的服务器id)
  • 现在,只需运行
    mvn deploy
    即可

  • 使用Maven Artifactory插件:

  • 将中所述的相关
    部分添加到您的
    pom.xml
    。它包括目标存储库和凭据(请使用外部凭据源,如环境变量或系统属性)
  • 运行
    mvn deploy
    ,不仅可以享受到对Artifactory的部署,还可以享受如下所述的附加功能
  • Artifactory Maven插件的其他特性(在常规Maven部署之上):

  • 允许添加到已部署的文件
  • 提供构建材料清单(buildInfo),允许使用任何构建服务器(即使是JFrog不支持的构建服务器)或独立构建(根本不使用构建服务器)

  • 了解您所看到的错误会很有帮助。您可能只需要在~/.m2目录中创建一个settings.xml文件,其中包含访问该服务器的凭据。谢谢@Jonathan(+1)-我在创建此问题时很匆忙,没有准确地解释情况(请参阅我的编辑)。本身没有错误,只是没有发布。如果您觉得这个配置不错(并且没有遗漏任何内容或配置错误),那么您可以为我指出一个具有正确用户信誉的
    settings.xml
    示例的方向(或提供一个答案)?再次感谢!谢谢@JBaruch(+1)-正在运行的
    mvn部署
    是否也会在引擎盖下运行
    mvn清洁包
    ?再次感谢你这么好的回答!请读一点关于<代码>安装
    运行
    软件包
    ,但不运行
    清理
    (这是一个不同的生命周期)。如果您发现答案正确,请接受它。再次感谢@JBaruch(+1)-最后一步:看来我可以运行
    mvn clean
    ,然后运行
    mvn deploy
    ,同时获得clean和deploy的好处,对吗?再次感谢!