我有一个webjars项目,我想构建快照并将它们部署在本地(在我们的基础架构中),但是这些版本由webjars.org管理。
https://github.com/webjars/oscar/blob/15.0.0-RC1/pom.xml
我面临的问题是他们需要将nexus-staging-maven-plugin定义为其发布过程的一部分。因此,我希望尽可能地为他们量身定制POM,如果可能的话,只需通过命令行(或最坏情况,配置文件)进行自己的偏差。
通常,如果从头开始执行此操作,您可能会在配置文件中引入暂存插件,但我认为我没有这个选项。 (我可能不得不进行修改并与他们讨论。)
我以前从未使用过staging插件,所以这是我的第一次曝光,考虑到我正在尝试做的事情,这不是一个令人愉快的曝光。我觉得我在和系统作斗争。
我认为我有一些指定:
drawable/wallpaperpic
并将工件推送到正确的位置,但后来我无法弄清楚如何提供凭据。 (401未授权)我认为指定serverId可能有效,但没有。
-DsonatypeOssDistMgmtSnapshotsUrl=http://myurl
http://books.sonatype.com/nexus-book/reference/staging-deployment.html
然后我尝试创建一个配置文件,我会做这样的事情:
-DserverId=public-snapshots
但这没有用。有效的pom表明了这一点:
<profile>
<id>disable-staging</id>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.5</version>
<configuration combine.self="override">
<executions>
<execution>
<id>injected-nexus-deploy</id>
<phase>none</phase>
</execution>
</executions>
</configuration>
</plugin>
</plugins>
</build>
</profile>
我无法解开部署阶段。
我想知道是否有人对这种情况下该怎么做有任何想法?
答案 0 :(得分:3)
您可以使用Nexus Staging Plugin的属性skipNexusStagingDeployMojo
来实现此目的:
mvn clean package deploy:deploy -DskipNexusStagingDeployMojo=true
-DaltDeploymentRepository=snapshots::default::https://my.nexus.host/content/repositories/snapshots-local
显式调用package
然后deploy:deploy
非常重要,否则(仅调用mvn deploy
时)默认执行maven-deploy-plugin会被Nexus Staging抑制插件(即使将跳过设置为true
)。