Taurus.MVC-Java 版本打包上传到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包发布到中央仓库的所有配置。
一切就绪,下一篇,介绍执行发布上传。
Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置的更多相关文章
- Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):5、Maven版本发布与后续版本更新(大结局)
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
- Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1、JIRA账号注册
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
- Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2、PGP下载安装与密钥生成发布
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
- Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):3、Maven独立插件安装与settings.xml配置
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
- 构建自己的jar包上传至Mvaen中央仓库和版本更新
构建自己的jar包上传至Mvaen中央仓库和版本更新 一直羡慕别人制造轮子,开源项目,供别人使用:我也想这样,可以自己才疏学浅,本次就将自己写小工具上传到Maven的中央仓库. 一步一步详细教程演示如 ...
- Mac使用Gradle上传jar到中央仓库(最完整的采坑记录)
前言 当我们封装完成我们自己做的工具之后,那我们肯定想要发给别人让别人来进行使用,上传到中央仓库是一种引入时最方便的选择. 网上有很多教程,但是大多都是maven和windows的环境. 今天就来记录 ...
- Spring MVC + Java 多文件上传及多文件中转上传
1.html内容 <div> <form method="post" action="/Cyberspace/main/informationBatch ...
- maven打包上传到本地中央库
pom文件中添加插件如下 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< ...
- iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b
用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 ...
随机推荐
- python小题目练习(十)
题目:根据生日判断星座 需求:实现如下图所示结果 代码展示: """Author:mllContent:根据生日判断星座Date:2020-11-23"&quo ...
- 拉取服务器上的项目,svn认证失败
解决方案: 在服务器上找到对应的项目路径,并修改authz: 我的是因为[group]组下(下图中34行),我写的是[demo:/],改为[/]就可以了.
- 记一次 .NET 差旅管理后台 CPU 爆高分析
一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的 web 系统 cpu 运行一段时候后就爆高了,让我帮忙看一下是怎么回事,那就看吧,声明一下,我看 dump 是免费的,主要是锤炼自己技术 ...
- NC201605 Bits
NC201605 Bits 题目 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出 \(3\) 根柱子,最开始时 \(n\) 个盘子按照大小被置于最左的柱子. 如果盘子数 ...
- C语言中限定符的作用
C语言中常用的一般包括const.static.extern.register和volatile这几个.这些是C语言标准中规定的关键词,所有的编译器都必须支持这些关键词,它们的作用如下: 1.cons ...
- 全面吃透JAVA Stream流操作,让代码更加的优雅
全面吃透JAVA Stream流操作,让代码更加的优雅 在JAVA中,涉及到对数组.Collection等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行 ...
- poste.io自建邮件服务器
随便说些什么 腾讯企业邮新增账号不方便,这里的主要是指不经过手机验证或微信扫码的,虽然提供了最多3个"业务邮箱",很明显不够用. EwoMail,装没装起来我不记得了,反正是不好用 ...
- 从零开始完整开发基于websocket的在线对弈游戏【五子棋】,只用几十行代码完成全部逻辑。
五子棋是规则简单明了的策略型游戏,先形成五子连线者获胜.本课程习作采用两人在线对弈的方式进行比赛,拿着手机在上下班路上玩特别合适. 整个过程在众触低代码应用平台进行,使用表达式描述游戏逻辑(高度简化版 ...
- WPS前骨干历时10年打造新型软件,Excel用户:我为此改用WPS
办公软件本质是降本增效,我们常见的金山WPS软件.微软office Excel.仓库管理WMS.生产管理MES等都是如此,但是有一款软件却让人变得更"懒惰",而且还是针对于有进取心 ...
- NOI / 1.4编程基础之逻辑表达式与条件分支讲解-01:判断数正负
总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 给定一个整数N,判断其正负. 输入 一个整数N(-109 <= N <= 109) 输出 如果N > 0, 输出 ...