一、前言 Maven是一个Java项目的管理和构建工具,Maven仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。 Maven中央仓库是由Maven社区提供的仓库,其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件,当我们需要使用某个构建功能时,我们只需要在pom文件引入其maven坐标即可。 本文我们讲解如何把自己的jar发布到maven中央仓库里面,供外网其他用户使用。注册Sonatype账号 登录https:issues。sonatype。orgsecureSignup!default。jspa注册一个账号创建一个issue 菜单栏Create弹出创建界面,Project选择CommunitySupportOpenSourceProjectRepositoryHosting(OSSRH)。IssueType选择NewProject。GroupId填写maven坐标的GroupId。 注意:申请一个GroupId后,就可以发布不同的artifactId对应的jar。发包安装gpg brewinstallgnupg创建并查看自己的key gpggenkey创建自己的key gpglistsecretkeys查看自己的key推送key到签名服务器 gpgkeyserverkeys。gnupg。netsendkeysxxxxxgpgkeyserverkeys。gnupg。netrecvkeysxxxxxgpgkeyserverkeyserver。ubuntu。comsendkeysxxxxxgpgkeyserverkeyserver。ubuntu。comrecvkeysxxxxx配置pom文件 在要发布的包的pom文件里面,添加如下插件:pluginspluginnexusstagingmavenpluginartifactIdconfigurationtrueautoReleaseAfterClosenexusUrlhttps:s01。oss。sonatype。orgnexusUrlserverIdossrhserverIdconfigurationextensionstrueextensionsgroupIdorg。sonatype。pluginsgroupIdversion1。6。7versionpluginpluginmavencompilerpluginartifactIdconfigurationencodingUTF8encodingsource1。8sourcetarget1。8targetconfigurationversion{mavencompilerplugin。version}versionpluginpluginmavenresourcespluginartifactIdconfigurationencodingUTF8encodingconfigurationversion{mavenresourcesplugin。version}versionpluginpluginmavensourcepluginartifactIdexecutionsexecutiongoalsgoaljargoalgoalsidattachsourcesidexecutionexecutionsversion{mavensourceplugin。version}versionpluginpluginmavensurefirepluginartifactIdconfigurationskipTeststrueskipTestsconfigurationgroupIdorg。apache。maven。pluginsgroupIdversion{mavensurefireplugin。version}versionpluginpluginmavenjarpluginartifactIdconfigurationmanifesttrueaddDefaultImplementationEntriesmanifestarchiveconfigurationgroupIdorg。apache。maven。pluginsgroupIdversion{mavenjarplugin。version}versionpluginpluginmavenjavadocpluginartifactIdconfigurationcharsetUTF8charsetdocencodingUTF8docencodingencodingUTF8encodinglinkslinkhttp:docs。oracle。comjavase8docsapilinklinksshowpublicshowconfigurationexecutionsexecutiongoalsgoaljargoalgoalsidattachjavadocidexecutionexecutionsgroupIdorg。apache。maven。pluginsgroupIdversion{mavenjavadocplugin。version}versionpluginpluginmavengpgpluginartifactIdexecutionsexecutionconfigurationgpgArgumentspinentrymodeargloopbackarggpgArgumentsconfigurationgoalsgoalsigngoalgoalsidsignartifactsidphaseverifyphaseexecutionexecutionsgroupIdorg。apache。maven。pluginsgroupIdversion{mavengpgplugin。version}versionpluginplugins执行发布命令 切换到要发的包的目录,执行:mvncleandeployDgpg。passphrase自己的gpg的密码 等待发布完毕,一般情况下24小时后,会在https:mvnrepository。comreposcentral搜到自己的包。参考 1。https:mvnrepository。comartifactcom。larksuite。oapilarksuiteoapiNexusRepositoryManagerhttps:central。sonatype。orgpublishpublishmavendistributionmanagementandauthentication2。https:maven。apache。orgpluginsmavengpgpluginusage。html