gpt4 book ai didi

maven - 将 nexus-staging-maven-plugin 重定向到内部存储库

转载 作者:行者123 更新时间:2023-12-04 02:20:19 28 4
gpt4 key购买 nike

我有一个 webjars 项目,我想构建快照并将它们部署在本地(在我们的基础架构中),但发布由 webjars.org 管理。

https://github.com/webjars/oscar/blob/15.0.0-RC1/pom.xml

我面临的问题是他们需要将 nexus-staging-maven-plugin 定义为发布过程的一部分。因此,我希望尽可能地为他们量身定制 POM,并尽可能通过命令行(或最坏情况,配置文件)做出我们自己的偏差。

通常,如果从头开始执行此操作,您可能会在配置文件中引入暂存插件,但我认为我没有那个选项。 (虽然我可能必须进行修改并与他们讨论。)

我以前从未使用过 staging 插件,所以这是我的第一次接触,考虑到我正在尝试做的事情,这并不令人愉快。我觉得我在与系统作斗争。

我以为我通过指定得到了一些东西:

-DsonatypeOssDistMgmtSnapshotsUrl=http://myurl

这会将 Artifact 推送到正确的位置,但我不知道如何提供凭据。 (401 未经授权)我认为指定 serverId 可能有效,但不行。

-DserverId=public-snapshots

http://books.sonatype.com/nexus-book/reference/staging-deployment.html

然后我尝试创建一个配置文件,在那里我会做这样的事情:

<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>

但这并没有帮助。 effective-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>

而且我无法解除绑定(bind)部署阶段。

我想知道是否有人对在这种情况下该怎么做有任何想法?

最佳答案

您可以使用 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 时)默认执行maven-deploy-plugin 被 Nexus Staging 插件抑制(即使 skip 设置为 true)。

关于maven - 将 nexus-staging-maven-plugin 重定向到内部存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com