2

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

 2 years ago
source link: https://www.cnblogs.com/cyq1162/p/16660280.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

文章目录:

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:

17408-20220906011336408-219461954.png

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

17408-20220906011705855-906697267.png

点击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>
17408-20220906014043582-585895553.png

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>[email protected]</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>

节点添加位置:

17408-20220906012807058-814197187.png

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

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

17408-20220906013123254-249281020.png

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包发布到中央仓库的所有配置。

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK