我正在使用Maven 3.我正在尝试将第三方工件部署到远程存储库,但我遇到了一个奇怪的错误。我用来部署的命令是
mvn deploy:deploy-file -DgroupId=com.myco.util.ant \
-DartifactId=selenium-ant-task \
-Dversion=1.4 \
-Dpackaging=jar \
-Dfile=/Users/davea/.m2/repository/com/myco/util/ant/selenium-ant-task/1.4/selenium-ant-task-1.4.jar \
-DrepositoryId=sonatype-nexus \
-Durl=http://sonatype.myco.com/nexus/content/repositories/releases
我运行此命令时得到的错误是
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project maven-selenium-plugin: The parameters 'url' for goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file are missing or invalid -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
这里发生了什么?我在〜/ .m2 / settings.xml文件中定义了我的repositoryId,“ssonatype-nexus”,并验证了其中的凭据是否正确。
感谢您的帮助, - 戴夫
答案 0 :(得分:3)
deploy:deploy-file
不打算在包含pom.xml文件的目录中运行 - 您应该在其他地方运行它。如果你想要一个上传的特定POM,不要忘记-DpomFile
参数,因为默认是生成一个基本的。
但是,我注意到您正在从本地存储库部署文件 - 如果这是由Maven构建放置的那样,那么您最好让该项目使用<distributionManagement>
元素进行部署。 {1}}生命周期阶段。
答案 1 :(得分:1)
好像您的网址格式不正确。
尝试:
-Durl =文件:// path_to_m2_repo
编辑:注意,在这种情况下,URL是针对本地存储的。 Maven应该基于POM和-DrepositoryId部署到Nexus。