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

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

时间:2022-09-29 23:33:09浏览次数:94  
标签:xml maven 插件 Java 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:

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

 

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

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

 

点击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>

如图:

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

 

2、配置pom.xml:补充基本信息

对于要提交到中央仓库的项目,需要补充一些额外的信息:

1、项目地址:url

2、开源协议:<licenses>

3、Git地址:<scm>

4、作者信息:<developers>

自行对照项目,调整修改,示例完整配置如下:

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>
<ur
<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:指定首次发布,快照的发布地址

 添加发布到快照的版本地址:

//s01.oss.sonatype.org/content/repositories/snapshots</url>

节点添加位置:

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

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

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

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

 

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进行签名

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(发布正式版本需要、快照版本可不需要)

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,Taurus,Maven,MVC,版本
From: https://blog.51cto.com/cyq1162/5724448

相关文章

  • Xml让人郁闷的SelectNodes方法
    SelectNodes(xpath,namespace)方法中无论是xmlDoc.SelectNodes(xpath,namespace)//假设xmlDoc为根节点,整个文档下的查询还是xmlDoc.ChildNodes[i].SelectNodes(xpath,name......
  • JavaDoc
    生成JavaDoc文档packagecom.fch.operator;/**类注释(在类上面)*@authorfch*@version1.0*@since1.8*/publicclassDoc{Stringname;......
  • Java SE 宋红康 days01-查漏补缺
    0.Java相关包java.lang:包含一些Java语言的核心类,如String、Math、Integer、System和Thread等java.net:执行与网络相关操作的类和接口java.io:提供多种输入/......
  • 算法题注意事项/debug细节(Java语言)
    注意循环中的序号使用:i,j,k。看清现在在哪一层,要用哪个,不要用错。注意Java中的方法是都是值传递(pass-by-value),没有引用传递。对于对象是地址的值传递不要在循环中反......
  • Javascript 手写 LRU 算法
    LRU是LeastRecentlyUsed的缩写,即最近最少使用。作为一种经典的缓存策略,它的基本思想是长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据进来时我们可以优先......
  • 如何在Intellij IDEA运行和调试JavaScript
    浏览器都可以解析和运行JS,但最好的方式应该还是使用node.js来运行。所以第一步就是安装node。对于Mac,一条命令即可:$brewinstallnode安装完成后,可以检查一下对应的......
  • 常用的Java 架包(jar)的用途
    前言:如果需要在项目中引入jar包,可以采用maven,配置方式在 ​​http://mvnrepository.com​​ 查询 slf4j-api简介:slf4j并不是一种具体的日志系统,而是一个用户日志系统......
  • 003.JavaScript的数据类型
         ......
  • java基础
                   ......
  • java问题
    什么是序列化,什么是反序列表,为什么有时要用到序列化?(1)java序列化就是指把java对象转换为字节序列的过程,反序列化就是指把字节符恢复为java对象的过程。(2)序列化最重要的作用......