小编b0s*_*0ss的帖子

从 Maven 命令行将 SNAPSHOT 工件和源部署到 Nexus

我正在尝试使用 maven 命令行部署一个 EXE 文件并将它的源文件压缩到 Sonatype Nexus。文件必须部署为快照。

所以,我有2个文件:

-testXYZ.exe and source file
-testXYZ.zip
Run Code Online (Sandbox Code Playgroud)

使用 maven 2.2.1 和此处描述的命令:

mvn deploy:deploy-file -Durl=file:///home/me/m2-repo \
                       -DrepositoryId=some.repo.id \
                       -Dfile=./path/to/artifact-name-1.0.jar \
                       -DpomFile=./path/to/pom.xml \
                       -Dsources=./path/to/artifact-name-1.0-sources.jar \
                       -Djavadoc=./path/to/artifact-name-1.0-javadoc.jar
Run Code Online (Sandbox Code Playgroud)

我可以部署EXE,但不能部署源代码,因为maven 2.2.1使用的是deploy-plugin v2.5,这个命令直到v2.7才被支持。我不允许使用较新版本的 maven,所以我尝试了不同的方法。

使用这两个后续命令,我可以部署这两个工件,但是无法从 nexus 下载源代码。

call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=zip -Dfile=testXYZ.zip -Dclassifier=sources -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=exe -Dfile=testXYZ.exe -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
Run Code Online (Sandbox Code Playgroud)

部署后,我搜索 testXYZ 并单击工件源下载链接。Nexus 说:

“在路径“com.xyz:testXYZ:1.1.116-SNAPSHOT:c=sources:e=jar”上找不到项目!”

问题是 Maven 上传这些工件的方式:

Line form log file while source is uploading:
Uploaded: http://build:8081/nexus/content/repositories/snapshots/com/xyz/testXYZ/1.1.116-SNAPSHOT/testXYZ-1.1.116-20120106.111705-1-sources.zip
Line form log file …
Run Code Online (Sandbox Code Playgroud)

nexus maven-deploy-plugin

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

maven-deploy-plugin ×1

nexus ×1