Taurus.MVC-Java 版本打包上傳到Maven中央倉庫(詳細過程):4、Maven專案轉換與pom.xml設定

2022-09-07 21:01:47

文章目錄:

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:

 

填寫要釋出的框架的相關資訊:

 

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

如圖:

 

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>

節點新增位置:

4、設定pom.xml:新增Maven釋出所需外掛

外掛的新增節點,所需一共4個,第一個是預設就有的:

 

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包釋出到中央倉庫的所有設定。

一切就緒,下一篇,介紹執行釋出上傳。