zoukankan      html  css  js  c++  java
  • nexus-staging-maven-plugin 踩坑

    来自:https://juejin.im/post/6844903561944367117

    这货是啥

    nexus-staging-maven-plugin是一个nexus用来自动控制流程的客户端插件。如果你想分享自己的java开源项目到maven中央仓库,就有可能需要这个插件。

    问题是啥

    重现问题需要下面几步,
    第一步:
    需要先在sonatype上发起一个新开源项目的issue等待审核通过。
    第二步:
    修改自己的pom.xml,让他符合maven中央仓库的检查规则。
    几个重要的规则是开发者信息

    maven-javadoc-plugin //打包javadoc
    maven-source-plugin //打包源码
    maven-gpg-plugin //gpg签名验证
    

    复制代码签名需要自己生成,详细教程在deploy-to-maven-central-repository
    第四步:
    nexus本身有一套发布jar的流程,下面这个插件可以是nexus流程处理的客户端.

    <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6.7</version>
        <extensions>true</extensions>
        <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>true</autoReleaseAfterClose>
        </configuration>
    </plugin>
    

    复制代码好的,请记住这个插件,当你执行mvn deploy的时候,它会自己上传当前maven工程下的所有模块到nexus.
    比如说xxx-service-api的实现,xxx-web.

    怎么解决

    如果想把某个模块忽略,需要增加配置

    <plugin>
    	<groupId>org.sonatype.plugins</groupId>
    	<artifactId>nexus-staging-maven-plugin</artifactId>
    	<configuration>
    		<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
    	</configuration>
    </plugin>
    

    复制代码end.

    懒人版

    在用了nexus-staging-maven-plugin插件之后,下面的配置不能避免模块被发布到nexus

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-deploy-plugin</artifactId>
    	<configuration>
    		<skip>true</skip>
    	</configuration>
    </plugin>
    

    复制代码还需要增加

    <plugin>
    	<groupId>org.sonatype.plugins</groupId>
    	<artifactId>nexus-staging-maven-plugin</artifactId>
    	<configuration>
    		<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
    	</configuration>
    </plugin>
    

    总结:我按照上述方式配置发现,所有模块都不上传了,很奇怪,于是乎,一不做二不休,直接移除掉nexus-staging-maven-plugin,只使用maven-deploy-plugin,用手动的方式进行操作。

  • 相关阅读:
    CStringArray序列化处理
    【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)
    【转】Native Thread for Win32 C- Creating Processes(通俗易懂,非常好)
    【转】Native Thread for Win32 B-Threads Synchronization(通俗易懂,非常好)
    【转】Native Thread for Win32 A- Create Thread(通俗易懂,非常好)
    【转】关于OnPaint的工作机制
    Window发声函数Beep、MessageBeep
    Sqlite
    VC++ Splash Window封装类CSplash
    通过代码注册COM、DLL组件
  • 原文地址:https://www.cnblogs.com/dreamroute/p/13631204.html
Copyright © 2011-2022 走看看