我正在使用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,因此在那里配置了urls。
我必须做些什么才能使它在distributionManagement中为快照工作和发布
发布于 2020-05-01 18:55:37
在这回答之后,我找到了以下解决方案:
maven-deploy-plugin<attachartifact>中添加了maven-antrun-plugin ant任务通过这种方式,由Ant运行插件生成的文件被正确地部署到Nexus,正如所描述的这里。
AttachArtifact任务 此任务将为当前Maven项目提供工件。这可以用于安装和部署Ant任务生成的工件。
https://stackoverflow.com/questions/61547464
复制相似问题