将nexus staging maven插件重定向到内部存储库
我有一个webjars项目,我想构建快照并在本地(在我们的基础设施内)部署它们,但是发布版由webjars.org管理 我面临的问题是,他们需要将nexus staging maven插件定义为发布过程的一部分。因此,我想让POM尽可能地为他们量身定制,如果可能的话,只需通过命令行(或者最坏的情况下,profile)进行我们自己的偏差 通常,如果从头开始做这件事,您可能会在概要文件中引入登台插件,但我认为我没有这个选项。(不过,我可能需要进行修改,并与他们讨论。) 我以前从未使用过staging插件,所以这是我第一次接触,考虑到我正在尝试做的事情,这不是一个愉快的体验。我觉得我在和体制抗争 我想我通过具体说明:将nexus staging maven插件重定向到内部存储库,maven,Maven,我有一个webjars项目,我想构建快照并在本地(在我们的基础设施内)部署它们,但是发布版由webjars.org管理 我面临的问题是,他们需要将nexus staging maven插件定义为发布过程的一部分。因此,我想让POM尽可能地为他们量身定制,如果可能的话,只需通过命令行(或者最坏的情况下,profile)进行我们自己的偏差 通常,如果从头开始做这件事,您可能会在概要文件中引入登台插件,但我认为我没有这个选项。(不过,我可能需要进行修改,并与他们讨论。) 我以前从未使用过stagin
-DsonatypeOssDistMgmtSnapshotsUrl=http://myurl
这会将工件推到正确的位置,但是我不知道如何提供凭证。(401未经授权)我认为指定serverId可能有效,但不行
-DserverId=public-snapshots
然后,我尝试创建一个配置文件,在其中我将执行以下操作:
<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>
禁用暂存
org.sonatype.plugins
NexusMaven插件
1.6.5
注入式nexus部署
没有一个
但那没用。有效的pom表明:
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.5</version>
<extensions>true</extensions>
<executions>
<execution>
<id>injected-nexus-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration combine.self="override">
<executions>
<execution>
<id>injected-nexus-deploy</id>
<phase>none</phase>
</execution>
</executions>
</configuration>
</execution>
</executions>
<configuration combine.self="override">
<executions>
<execution>
<id>injected-nexus-deploy</id>
<phase>none</phase>
</execution>
</executions>
</configuration>
</plugin>
org.sonatype.plugins
NexusMaven插件
1.6.5
真的
注入式nexus部署
部署
部署
注入式nexus部署
没有一个
注入式nexus部署
没有一个
我无法解除部署阶段的绑定
我想知道是否有人知道在这种情况下该怎么做?您可以使用Nexus Staging插件的属性
skipNexusStagingDeployMojo
来实现这一点:
mvn clean package deploy:deploy -DskipNexusStagingDeployMojo=true
-DaltDeploymentRepository=snapshots::default::https://my.nexus.host/content/repositories/snapshots-local
显式调用package
然后deploy:deploy
非常重要,否则(仅调用mvn deploy
时),Nexus Staging插件会抑制maven部署插件的默认执行(即使跳过设置为true
)