我正在使用maven-deploy-plugin
将在构建结束时由maven-antrun-plugin
的任务生成的工件部署到Nexus中。
Ant任务只是创建了由Maven构建的组合档案的文件.sh。
我必须包含maven-deploy-plugin
,因为否则.sh不会上传到Nexus中,并且在构建生命周期中将其完全忽略。
这是我尝试过的插件配置:
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>false</skip>
</configuration>
<executions>
<execution>
<id>deploy-sh</id>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<skip>false</skip>
<file>${project.build.directory}/${project.artifactId}-${project.version}-autoinstaller.sh</file>
<repositoryId>myrepo</repositoryId>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
</configuration>
</execution>
</executions>
</plugin>
我以mvn clean deploy
个目标运行Maven构建,但失败并出现以下错误:
[INFO] --- maven-deploy-plugin:3.0.0-M1:deploy-file (deploy-sh) @ MyApplication ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:11 min
[INFO] Finished at: 2020-05-01T19:07:40+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file (deploy-sh) on project MyApplication: The parameters 'url' for goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file are missing or invalid -> [Help 1]
目标org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file的参数'url'丢失或无效
是的,发生这种情况是因为该部分中没有<url>
标记,因此它是必填参数。
但是为什么<distributionManagement>
被完全忽略?我还为 myrepo 存储库配置了distributionManagement,因此在其中配置了url。
要使其在快照和发行版的发行版管理中起作用,我需要做什么?