Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 Maven:将第三方JAR部署到远程存储库时遇到问题_Maven 2_Maven - Fatal编程技术网

Maven 2 Maven:将第三方JAR部署到远程存储库时遇到问题

Maven 2 Maven:将第三方JAR部署到远程存储库时遇到问题,maven-2,maven,Maven 2,Maven,我用的是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

我用的是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”,并验证了其中的凭据是否正确


感谢您的帮助,-Dave

似乎您的url格式不正确

尝试:

-杜尔=file://path_to_m2_repo


编辑:注意,在这种情况下,URL用于本地回购。Maven应该基于POM和-DrepositoryId部署到Nexus。

deploy:deploy文件
不打算在包含POM.xml文件的目录中运行-您应该在其他地方运行它。如果您想上传一个特定的POM,请不要忘记
-DpomFile
参数,因为默认情况下会生成一个基本参数


但是,我注意到您正在从本地存储库部署一个文件-如果它是由Maven build放置在那里的,那么您最好让该项目进行部署,使用
元素和
deploy
生命周期阶段。

使用-X开关重新运行Maven以启用完整的调试日志记录。
可以帮助您修复错误:)URL格式正确-尽管使用指南用作示例,您不需要部署到文件位置(即使托管在文件系统上,也会被视为远程回购)。嗨,我不明白你的意思。我把我的URL改为“-Durl”=file:///path/to/jar/I/want/to/deploy"但我仍然得到了错误。您能举一个例子,使用我要部署的文件的路径和存储库id吗?从该文档中我了解到,Durl应该是您本地存储库的路径(或文件所在的位置),而不是要部署的文件,-Dfile就是用于此目的的,-DrepositoryID应该与您在POM文件中指定的ID匹配。我假设这会将给定的Dfile推送到您的m2 repo(Durl)并将其部署到POM中定义的DrepositoryID,在本例中为您的Nexus。如果这不起作用,我希望从POM中查看您的属性。类似(以及您想要的任何其他标记):mvn deploy:deploy file-DgroupId=com.myco.util.ant \-DartifactId=selenium-ant-task \-Dversion=1.4 \-dpackage=jar \-Dfile=selenium-ant-task-1.4.jar \-DrepositoryId=sonatype-nexus \-Durl=c:/Users/davea/.m2/repository/com/myco/util/ant/selenium-ant-ant-task/1.4/然后只需确保将maven settings.xml设置为autho将用户重新绑定到nexus,并确保该用户有权部署到nexus。