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

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

时间:2022-09-07 20:56:02浏览次数:115  
标签:xml maven Java plugin Taurus Maven MVC 版本

文章目录:

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>[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>

节点添加位置:

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

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

标签:xml,maven,Java,plugin,Taurus,Maven,MVC,版本
From: https://www.cnblogs.com/cyq1162/p/16660280.html

相关文章

  • Maven将本地的jar添加到本地仓库
    目录1.进入本地jar所在磁盘路径2.执行mvninstall命令3.pom文件引用依赖更多1.进入本地jar所在磁盘路径2.执行mvninstall命令mvninstall:install-file-DgroupId......
  • java 从oss上下载多个图片,压缩并返回给前端下载
    controller层/***下载图片-->创建文件夹*@paramparams*@return*@throwsException*/@PostMapping("/handerImageDownload")......
  • Java注释
    Java注释单行注释两个/后面跟要注释的内容即可,如://我是单行注释多行注释用/**/来包裹住要注释的内容即可,如:/*我是多行注释啊啊啊啊啊啊啊啊啊啊啊啊啊*/文档注......
  • Java数据类型
    Java数据类型介绍java是一门强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。分类基本数据类型整数类型:byte范围在-128~127之间short范围......
  • java 使用递归遍历文件夹及子文件夹中文件
    //使用递归遍历文件夹及子文件夹中文件publicvoidfilesDirs(Filefile){//File对象是文件或文件夹的路径,第一层判断路径是否为空if(file!=null......
  • JavaWeb学习笔记第三弹
    一、数据库设计1、软件研发步骤2、数据库设计概念建立数据库中的表结构以及表与表之间的关联关系的过程3、数据库设计的步骤表关系:一对一、一对多(多对一)、多对多......
  • java中公平锁非公平锁的区别
    公平锁:多线程按照申请锁的顺序来获取锁,不会出现争抢的情况。非公平锁:多线程不会按照顺序获取锁,会先尝试去争抢锁,有可能后申请的线程比先申请的线程先抢到锁,在高并发情况下......
  • javascript第一天
    JavaScript基础-第1天了解变量、数据类型、运算符等基础概念,能够实现数据类型的转换,结合四则运算体会如何编程。体会现实世界中的事物与计算机的关系理解什么是数......
  • 【over】重学Java se
    踩个坑,因为刚学完ssm框架,着急了解原理,我尝试着去了解spring的源码,后来才发现,没有开发经验,还是别谈了解源码了,好几十万行的代码,在我现在这个阶段来说,不光说看不懂,看的东西也......
  • Logstash深入收集Java日志
    Logstash深入收集Java日志没有修改Json格式在企业中,我们看到tomcat日志遇到异常(exception)一条日志可能是几行或者十几行甚至几十行,组成的,那么,我们需要将多行日志变成......