8

如何使用我自己的 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 做同样的事情?

4

1 回答 1

1

将 3rd 方 JAR 部署到远程存储库的指南”仅提及:

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

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

请参阅Maven 部署文件插件常见问题解答

如果您使用 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罐子放进去%M2_HOME%/lib

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

于 2017-05-13T14:12:53.820 回答