• Taurus.MVCJava 版本打包上传到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:

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

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

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

  • 相关阅读:
    展示之前的作品
    let和const的一些知识点
    javascript执行上下文和变量对象
    数据类型隐式转换及数据类型判断方式总结
    CSS元素隐藏方法总结
    ES6 —— 数组总结
    小程序性能相关
    nginx和resin一二三
    修改XAMPP的默认根目录
    面试题延伸及总结
  • 原文地址:https://www.cnblogs.com/cyq1162/p/16660280.html
Copyright © 2020-2023  润新知