据我所知,使用 maven 部署第三方二进制 Artifact 是这样完成的:
mvn deploy:deploy-file -DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>
假设我的存储库可以使用 scp 访问,例如在上面的命令中
-Durl=scpexe://example.org//users/mvnrepo/maven
使用 maven 3,此部署命令失败并显示错误消息。
我使用的解决方法是复制两个 jar:
wagon-ssh-common-2.2.jar
和 wagon-ssh-external1.0.jar
到我的 $M2_HOME/lib
目录。因此我的问题是:为什么 Maven 不能自己检索合适的货车?
(而且,如果可能的话,如何让它做到这一点?)
最佳答案
Wagons 是 Maven 的扩展。您可以按如下方式添加它们:
<project>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>1.0</version>
</extension>
</extensions>
</build>
</project>
欲了解更多详情,您可以查看 Maven Wagon页。
关于Maven 3 : deploying an artifact using SCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11409156/