热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

发布自己的jar到MavenRepository公服上

前段时间自己写了一个简易的Java版爬虫框架。如果想把这个框架完善还是需要大家的力量,如果每次使用都要从Gihub上下载源码岂不是很麻烦?因为自己的项目

前段时间自己写了一个简易的Java版爬虫框架。如果想把这个框架完善还是需要大家的力量,如果每次使用都要从Gihub上下载源码岂不是很麻烦?因为自己的项目用的是maven来管理jar包,那么就试试把这个爬虫框架放到公服仓库上去吧!


注册Sonatype账号

使用过Jira的用户就很熟悉了,事务与项目跟踪软件。注册好之后也可以用这个账号登陆maven公服仓库https://oss.sonatype.org/

注意:Username 一定不要是中文,一定要是英文!!!


创建一个Jira

Project: Open Source Project Repository Hosting (OSSRH)

Issue Type: New Project

下面是我项目的配置
WX20180708-221640@2x.png
注意Group Id 要和项目中pom配置的一样,一定要是域名的反写,这里推荐使用github的域名(如果自己没有长期维护的域名),自己的域名可能会过期github可是不能随随便便的过期吧~

Project URL 就是你项目再Github上的地址;

SCM url 就是项目clone地址

ok,创建好之后就等待老外回复吧。因为有时差,所以一般他们晚上十点钟以后才能去审查,所以第一次配置的的时候一定要准确,不然改一次要等一天哦~~~

正确的审核反馈如下:

WX20180708-222208@2x.png


修改项目Pom

这个也是比较重要的
一定要有以下结构

<description>A Simple Java Crawler Frameworkdescription>
<licenses><license><name>The Apache Software License, Version 2.0name><url>http://www.apache.org/licenses/LICENSE-2.0.txturl>license>
licenses>
<developers><developer><name>wangxcname><email>vector4wang&#64;qq.comemail>developer>
developers>
<scm><connection>scm:git:https://github.com/vector4wang/vw-crawler.gitconnection><developerConnection>scm:git:https://github.com/vector4wang/vw-crawler.gitdeveloperConnection><url>https://github.com/vector4wang/vw-crawlerurl>
scm>

这是Nexus Rules规定的&#xff0c;不然会出错&#xff01;

然后就是构建插件与配置

<distributionManagement><snapshotRepository><id>ossrhid><url>https://oss.sonatype.org/content/repositories/snapshots/url>snapshotRepository><repository><id>ossrhid><url>https://oss.sonatype.org/service/local/staging/deploy/maven2/url>repository>
distributionManagement><build><plugins><plugin><groupId>org.sonatype.pluginsgroupId><artifactId>nexus-staging-maven-pluginartifactId><version>1.6.7version><extensions>trueextensions><configuration><serverId>ossrhserverId><nexusUrl>https://oss.sonatype.org/nexusUrl><autoReleaseAfterClose>trueautoReleaseAfterClose>configuration>plugin><plugin><groupId>org.apache.maven.pluginsgroupId><artifactId>maven-source-pluginartifactId><version>2.2.1version><executions><execution><id>attach-sourcesid><goals><goal>jar-no-forkgoal>goals>execution>executions>plugin><plugin><groupId>org.apache.maven.pluginsgroupId><artifactId>maven-javadoc-pluginartifactId><version>2.9.1version><executions><execution><id>attach-javadocsid><goals><goal>jargoal>goals>execution>executions>plugin><plugin><groupId>org.apache.maven.pluginsgroupId><artifactId>maven-gpg-pluginartifactId><version>1.5version><executions><execution><id>sign-artifactsid><phase>verifyphase><goals><goal>signgoal>goals>execution>executions>plugin><plugin><artifactId>maven-compiler-pluginartifactId><version>3.5.1version><configuration><source>${java.version}source><target>${java.version}target>configuration>plugin>plugins>
build>

distributionManagement中对应MavenHome中的setting的文件配置&#xff0c;如下

<servers><server><id>ossrhid><username>UserNameusername><password>Passwordpassword>server>
servers>

用户名和密码就是你注册sonatype时的用户名和密码&#xff0c;id要对应pom里的id

nexus-staging-maven-plugin 这个插件是在成功发布到公服上的时候不需要手动去改变status(close,有的文章介绍说要手动关闭)

maven-javadoc-plugin 这个也比较重要&#xff0c;生成javadoc&#xff0c;要求代码里如果要使用注释&#xff0c;就要按照规范去注释&#xff0c;这个大家可以查找相关内容了解下&#xff0c;你也可以在deploy的时候按照提示去修改代码

maven-gpg-plugin 这个是用来生成私钥&#xff0c;下面会用到

ps&#xff1a;我的电脑是mac&#xff0c;在打包的时候报错&#xff0c;说找不到java home&#xff0c;在properti中加上下面配置就行了

<javadocExecutable>${java.home}/../bin/javadocjavadocExecutable>

安装gpg

windows用户在gpg4win这里下载&#xff0c;mac可以下载GPG_suite
因为都是图形界面&#xff0c;所以直接创建新的秘钥
需要输入用户名、邮箱和密码&#xff0c;一定要记住这个密码

之后需要把此秘钥发布到公钥服务器上(因为是图形工具&#xff0c;很简单&#xff0c;如果是命令行&#xff0c;还请在网上找一下)


发布

一切配置好之后&#xff0c;可以使用mvn clean deploy看一下结果&#xff0c;如果想发布release版本的需要把version中的snapshot去掉即可~

发布的时候提示你输入密码&#xff0c;这个密码就是上一节中你输入的密码&#xff01;

之后就可以在仓库中找到自己发布的jar包了&#xff0c;发布release之后&#xff0c;要回到jira上接着评论告知已经发布&#xff0c;可以关闭掉这个jira了&#xff01;&#xff01;&#xff01;


后记

最大的问题就是时差问题&#xff0c;因为你遇到的问题可能需要老外那边协助&#xff0c;比如重置一些权限或者其他稀奇古怪的问题&#xff0c;这样一等就是一天。所以要准备十点以后&#xff0c;一旦jira有回复&#xff0c;立马去修改去尝试&#xff0c;然后再告知老外&#xff0c;那是老外可能会立即做出回应&#xff0c;就不需要等一天了~~~

另外后面会把爬虫框架vw-crawler的使用说明补充出来&#xff0c;希望大家能多多捧场~~~

CSDN&#xff1a;http://blog.csdn.net/qqhjqs?viewmode&#61;list

博客&#xff1a;http://blog.wangxc.club/

简书&#xff1a;https://www.jianshu.com/u/223a1314e818

Github:https://github.com/vector4wang

Gitee:https://gitee.com/backwxc

如果感觉有帮助的话&#xff0c;点个赞哦~


推荐阅读
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了如何在WildFly 10中配置MySQL数据源时遇到的服务依赖问题及其解决方案。 ... [详细]
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 本文总结了优化代码可读性的核心原则与技巧,通过合理的变量命名、函数和对象的结构化组织,以及遵循一致性等方法,帮助开发者编写更易读、维护性更高的代码。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 本文深入探讨了JMeter中的参数解析及其线程组插件的应用,重点介绍了聚合报告的各项关键指标,并提供了详细的插件安装步骤。 ... [详细]
  • Spring Boot 入门指南
    本文介绍了Spring Boot的基本概念及其在现代Java应用程序开发中的作用。Spring Boot旨在简化Spring应用的初始设置和开发过程,通过自动配置和约定优于配置的原则,帮助开发者快速构建基于Spring框架的应用。 ... [详细]
author-avatar
伊人怀想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有