文章目录:

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

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

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

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

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

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

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

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

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

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

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

  5. 构建自己的jar包上传至Mvaen中央仓库和版本更新

    构建自己的jar包上传至Mvaen中央仓库和版本更新 一直羡慕别人制造轮子,开源项目,供别人使用:我也想这样,可以自己才疏学浅,本次就将自己写小工具上传到Maven的中央仓库. 一步一步详细教程演示如 ...

  6. Mac使用Gradle上传jar到中央仓库(最完整的采坑记录)

    前言 当我们封装完成我们自己做的工具之后,那我们肯定想要发给别人让别人来进行使用,上传到中央仓库是一种引入时最方便的选择. 网上有很多教程,但是大多都是maven和windows的环境. 今天就来记录 ...

  7. Spring MVC + Java 多文件上传及多文件中转上传

    1.html内容 <div> <form method="post" action="/Cyberspace/main/informationBatch ...

  8. maven打包上传到本地中央库

    pom文件中添加插件如下 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< ...

  9. iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

    用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 ...

随机推荐

  1. JAVA设计模式总结—建造者模式

    建造者模式 模式动机与定义 ​ 首先建造者模式的动机是为了创建复杂对象,简化传统的创建方法,提高创建的效率和可读性. ​ 像图中的这个例子,用户的需求是驾驶一辆汽车,但是对于用户来说是不需要了解汽车装 ...

  2. Java 向数组中添加元素

    一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度. 向数组中添加元素思路 第一步:把数组转化为集合 list = Arrays.asList(array); 第二步:向集合中添 ...

  3. 10.5 详解Android Studio项目结构

    Android项目的结构很复杂,并不像HTML项目,最简单的直接一个HTML文件就行了,相信学完上一节的同学就明白,哪怕是一个HelloWorld这样一个项目的文件可能都有几十个,所以我们需要搞清楚, ...

  4. 5-15 Virtual 虚拟机

    虚拟机基本使用 Virtualbox安装流程 RockyLinux VirtualBox清华大学个版本下载路径 https://mirrors.tuna.tsinghua.edu.cn/virtual ...

  5. Java_占位符使用

    public class t7 { public static void main(String[] args) { // TODO Auto-generated method stub //Java ...

  6. 6 zookeeper实现分布式锁

    zookeeper实现分布式锁 仓库地址:https://gitee.com/J_look/ssm-zookeeper/blob/master/README.md 锁:我们在多线程中接触过,作用就是让 ...

  7. Solution -「线段树」题目集合

    T1 无聊的数列 来自:Link flag 帖先从水题入手. 首先分析题目,它是以等差数列为原型进行的修改.等差数列一大性质就是其差分数列的值除第一项以外均相等. 于是不难想到使用差分数列进行维护. ...

  8. 2505-springboot使用spring.profiles.active来分区配置

    参考文献: spring boot 入门 使用spring.profiles.active来分区配置 http://www.leftso.com/blog/111.html 很多时候,我们项目在开发环 ...

  9. 在半小时内从无到有开发并调试一款Chrome扩展(Chrome插件/谷歌浏览器插件)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_120 就在不久之前,我们目前这个毕业班的班长那日同学和我说,他正在公司开发Chrome扩展,看起来很高大上的技术,实际开发却非常简 ...

  10. inotify 目录文件变更实时监控

    # inotify 软件 # 安装:通过epel,安装在客户端 # 功能:实时监控目录下文件的更变 # 监控事件:创建.删除.修改.移动... # 安装位置:客户端 # 安装命令: sudo apt- ...