使用maven使用自定义货车将第三方软件包部署到我的内部仓库

时间:2017-05-08 22:09:20

标签: maven gradle maven-3 wagon

如何使用自己的旅行车将第三方软件包部署到我的远程存储库?

例如,我可以使用以下命令部署第三方软件包,而无需更改pom.xml。

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

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

我如何为gradle做同样的事?

1 个答案:

答案 0 :(得分:1)

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

  

首先,货车提供商(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中。

如果错误描述是这样的:

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

然后您需要将{strong> commons-net jar放在%M2_HOME%/lib中。

使用Gradle,您可以执行相同操作,但使用Maven plugin,将deploy-file委派给maven,因为Maven Deployer plugin可能不支持自定义协议。