【问题标题】:Deploying 3rd party packages to my internal repo using maven using custom wagon使用自定义 wagon 使用 maven 将 3rd 方包部署到我的内部仓库
【发布时间】:2017-05-08 22:09:19
【问题描述】:

如何使用我自己的 wagon 将 3rd 方包部署到我的远程存储库?

例如,我可以使用以下命令在不更改 pom.xml 的情况下部署 3rd 方包。

mvn deploy -DaltDeploymentRepository=thirdparty::default::http://myremoserver.com/mavenrepository/thirdparty -f thirpartpomfile -Dmaven.install.skip=true -Dmaven.test.skip=true

我如何告诉 maven 使用特定的 wagon 来部署包?我可以传递一些命令行参数或向 settings.xml 添加一些条目吗?

我怎样才能为 gradle 做同样的事情?

【问题讨论】:

    标签: maven gradle maven-3 wagon


    【解决方案1】:

    Guide to deploying 3rd party JARs to remote repository”只提:

    首先,wagon-provider(wagon-ftpwagon-file 等)必须放在您的${maven.home}/lib

    这足以让您将mvn deploy-file 与其他协议一起使用。
    你自己的马车应该在那里复制(${maven.home}/lib)。

    Maven Deploy File Plugin FAQ:

    如果您使用 deploy:deploy-file 目标并遇到此错误:

    Error deploying artifact: Unsupported Protocol: 'ftp': 
      Cannot find wagon which supports the requested protocol: ftp"
    

    然后你需要在你的 %M2_HOME%/lib 中放置合适的 wagon provider。

    如果错误描述是这样的:

    Error deploying artifact: Unsupported Protocol: 'ftp': 
      Cannot find wagon which supports the requested protocol: 
        ftp org/apache/commons/net/ftp/FTP"
    

    然后你需要将 commons-net jar 放入%M2_HOME%/lib

    使用 Gradle,您可以执行相同的操作,但使用 Maven plugin,将部署文件委托给 maven,因为 Maven Deployer plugin 可能不支持自定义协议。

    【讨论】:

      猜你喜欢
      • 2011-12-25
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      相关资源
      最近更新 更多