如何使用自己的旅行车将第三方软件包部署到我的远程存储库?
例如,我可以使用以下命令部署第三方软件包,而无需更改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做同样的事?
答案 0 :(得分:1)
“Guide to deploying 3rd party JARs to remote repository”仅提及:
首先,货车提供商(
wagon-ftp
,wagon-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可能不支持自定义协议。