Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置


文章目录:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1、JIRA账号注册

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2、PGP下载安装与密钥生成发布

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):3、Maven独立插件安装与settings.xml配置

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):5、Maven版本发布与后续版本更新

前言:

Taurus.MVC-Java 开源地址:https://github.com/cyq1162/Taurus.MVC-java

本篇讲述如何将一个框架打包上传到中央仓库。

经过九九八十一难,终于成功打包上传,特此记录与分享。

如果无法顺利,遇到问题,建议多参考官网指南

1、转换项目到Maven项目:

如果项目是maven项目,可以忽略此步。

如果是普通项目,可以直接转换成maven项目:

项目右键:Configure-》Convert to Maven Project:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

 

填写要发布的框架的相关信息:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

 

点击Finish即完成项目转换。

如果涉及到直接引用外部jar包,可以有两种方式解决处理,都是在pom.xml 新增配置:

方式一:给jar包添加一个引用配置:

<dependency>
    <groupId>自己取名</groupId>
    <artifactId>自己取名</artifactId>
    <version>1</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/src/main/resources/lib/需要加载的.jar</systemPath>
</dependency>

方式二:在pom.xml的默认编绎插件中:指定maven编绎的扩展路径:

           <compilerArguments>            
                        <extdirs>lib</extdirs> 
                     </compilerArguments> 
        </configuration>

如图:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

 

2、配置pom.xml:补充基本信息

对于要提交到中央仓库的项目,需要补充一些额外的信息:

1、项目地址:url

2、开源协议:<licenses>

3、Git地址:<scm>

4、作者信息:<developers>

自行对照项目,调整修改,示例完整配置如下:

 <modelVersion>4.0.0</modelVersion>
  <groupId>com.cyqdata</groupId>
  <artifactId>taurus-mvc</artifactId>
  <version>3.0.1-SNAPSHOT</version>
  <name>TaurusMVC</name>
  <description>Taurus.mvc-java is a high-performance mvc and webapi framework for java web</description>
  <url>https://github.com/cyq1162/Taurus.MVC-java</url>

    <licenses>
        <!-- 开源协议 -->
        <license>
            <name>Apache License 2.0</name>
            <url>https://opensource.org/licenses/Apache-2.0</url>
        </license>
    </licenses>

    <scm>
        <!-- scm 信息 -->
        <url>https://github.com/cyq1162/Taurus.MVC-java</url>
        <connection>https://github.com/cyq1162/Taurus.MVC-java.git</connection>
    </scm>

    <developers>
        <!-- 开发者信息 -->
        <developer>
            <id>cyq1162</id>
            <name>chenyuqiang</name>
            <url>https://www.cnblogs.com/cyq1162</url>
            <email>272657997@qq.com</email>
            <roles>
                <role>Developer</role>
            </roles>
            <organization>com.cyqdata</organization>
            <timezone>+8</timezone>
        </developer>
    </developers>

开源协议的名称和地址,可以在这里选:https://opensource.org/licenses/

3、配置pom.xml:指定首次发布,快照的发布地址

 添加发布到快照的版本地址:

  <distributionManagement>
  <snapshotRepository>
    <id>ossrh</id>
    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
  </snapshotRepository>
</distributionManagement>

节点添加位置:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

4、配置pom.xml:添加Maven发布所需插件

插件的添加节点,所需一共4个,第一个是默认就有的:

Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置

 

1、插件1:nexus-staging-maven-plugin:指定正式版本发布的地址

<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://s01.oss.sonatype.org/</nexusUrl>
        <autoReleaseAfterClose>true</autoReleaseAfterClose>
      </configuration>
    </plugin>

2、插件2:maven-gpg-plugin:指定使用gpg进行签名

     <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-gpg-plugin</artifactId>
      <version>1.5</version>
      <executions>
        <execution>
          <id>sign-artifacts</id>
          <phase>verify</phase>
          <goals>
            <goal>sign</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

3、插件3:maven-source-plugin :打包源码(发布正式版本需要、快照版本可不需要)

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-source-plugin</artifactId>
      <version>2.2.1</version>
      <executions>
        <execution>
          <id>attach-sources</id>
          <goals>
            <goal>jar-no-fork</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>

4、插件4:maven-javadoc-plugin:打包JavaDoc(发布正式版本需要、快照版本可不需要)

    <plugin>
 <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <version>2.9.1</version>
      <executions>
        <execution>
          <id>attach-javadocs</id>
          <goals>
            <goal>jar</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

5、插件5:maven-jar-plugin:使用自定义mainfest.mf(可选,默认Maven自动生成)

     <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-jar-plugin</artifactId>  
        <configuration>  
          <archive>  
            <manifestFile>src/META-INF/MANIFEST.MF</manifestFile>  
          </archive>  
        </configuration>  
      </plugin> 

总结:

文章至此,即完成了上传到的Jar包发布到中央仓库的所有配置。

一切就绪,下一篇,介绍执行发布上传。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/288159.html

(0)
上一篇 2022年9月7日 19:30
下一篇 2022年9月7日 21:58

相关推荐

发表回复

登录后才能评论