Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将nexus staging maven插件重定向到内部存储库_Maven - Fatal编程技术网

将nexus staging maven插件重定向到内部存储库

将nexus staging maven插件重定向到内部存储库,maven,Maven,我有一个webjars项目,我想构建快照并在本地(在我们的基础设施内)部署它们,但是发布版由webjars.org管理 我面临的问题是,他们需要将nexus staging maven插件定义为发布过程的一部分。因此,我想让POM尽可能地为他们量身定制,如果可能的话,只需通过命令行(或者最坏的情况下,profile)进行我们自己的偏差 通常,如果从头开始做这件事,您可能会在概要文件中引入登台插件,但我认为我没有这个选项。(不过,我可能需要进行修改,并与他们讨论。) 我以前从未使用过stagin

我有一个webjars项目,我想构建快照并在本地(在我们的基础设施内)部署它们,但是发布版由webjars.org管理

我面临的问题是,他们需要将nexus staging maven插件定义为发布过程的一部分。因此,我想让POM尽可能地为他们量身定制,如果可能的话,只需通过命令行(或者最坏的情况下,profile)进行我们自己的偏差

通常,如果从头开始做这件事,您可能会在概要文件中引入登台插件,但我认为我没有这个选项。(不过,我可能需要进行修改,并与他们讨论。)

我以前从未使用过staging插件,所以这是我第一次接触,考虑到我正在尝试做的事情,这不是一个愉快的体验。我觉得我在和体制抗争

我想我通过具体说明:

-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