重庆集团公司网站建设,知识产权教育平台网站开发总结,网站工程师招聘,花店asp网站源码在项目开发过程中#xff0c;我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中#xff0c;让其他人可以直接依赖你的 Jar 包#xff0c;而不需要先下载你的代码后 install 到本地。
注册帐号
点击以…在项目开发过程中我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中让其他人可以直接依赖你的 Jar 包而不需要先下载你的代码后 install 到本地。
注册帐号
点击以下链接进行账号注册注册的信息要记住后面还要用而且这个密码格式要求比较严格
https://issues.sonatype.org/secure/Signup!default.jspa Jira 申请
注册登录过后访问以下链接创建一个 issue只有申请通过了才能进行后续的上传等操作。
https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype21pid10134 提交过后呢过几分钟就会有回复同时你刚刚注册使用的邮箱也会收到邮件。 注意 这里输入的信息全部使用英文。关于这个 GroupID不能是你瞎编的域名如果你正好使用的是自己的域名反写可以想我这样填写如果你没有域名就得使用 Github 的域名了格式填写 io.github.用户名后续验证会验证域名或 GitHub 账号的所有权 接下来过了几分钟就会收到回复我们需要对填写的 GroupID 进行验证。 我上面 GroupID 填写的域名反写world.xuewei所以我在这里需要添加一个 方式的 TXT 类型的解析记录内容为本次提交的 Issue 编号。如果你的 GroupID 的域名的下级例如 world.xuewei.test 那么添加记录的时候可能要添加二级域名的记录不能使用 我猜的反正都试试。 配置好后重新点击编辑然后直接提交即可然后需要再等几分钟就会收到回复如下 这种就 OK 了可以进行后续的操作了。
GPG 环境安装
GPG 的主要作用是生成密钥对会用于后续我们组件发布的校验。下载地址https://www.gnupg.org/download/。
找到适合自己设备的安装包后下载即可。 安装完成后运行 新建密钥对 选中证书后发布 双击证书查看秘钥然后复制出来一会要用。
配置 Maven setting
找到本地安装的 Maven 的配置文件注意这里不是项目里面的 pom.xml打开编辑。 首先找到 servers 标签在里面添加以下内容
serveridossrh/idusernameXUEW/usernamepassword这里是你第一步注册账号的时候的密码/password
/server然后找到 profiles 标签在里面添加以下内容安装目录改成你的 GPG 目录一定要到 bin 下的 gpg 这一层
profileidossrh/idactivationactiveByDefaulttrue/activeByDefault/activationpropertiesgpg.executableD:\Program\GnuPG\bin\gpg/gpg.executablegpg.passphrase这里是你刚刚在 GPG 中复制的秘钥/gpg.passphrase/properties
/profile配置项目 Pom
首先注意这里的 GroupID 一定要和前面申请的一样不然在上传的时候就会报错。这个版本号最好改成数字的形式就不要加默认的 -SNAPSHOT 了。
首先需要在 Pom 中配置仓库的信息这个信息也要和申请的一样不然也会报错内容如下
licenseslicensenameThe Apache Software License, Version 2.0/nameurlhttp://www.apache.org/licenses/LICENSE-2.0.txt/urldistributionrepo/distribution/license
/licenses
!-- 仓库信息 --
scmconnectionscm:gitgithub.com:373675032/xw-fast.git/connectiondeveloperConnectionscm:gitgithub.com:373675032/xw-fast.git/developerConnectionurlhttps://github.com/373675032/xw-fast/url
/scm
!-- 开发人员信息 --
developersdevelopernameXUEW/nameemailisxueweiqq.com/emailorganizationhttps://github.com/373675032/organizationtimezone8/timezone/developer
/developers然后添加一些固有的信息不需要更改
distributionManagementsnapshotRepositoryidossrh/idurlhttps://s01.oss.sonatype.org/content/repositories/snapshots/url/snapshotRepositoryrepositoryidossrh/idurlhttps://s01.oss.sonatype.org/service/local/staging/deploy/maven2//url/repository
/distributionManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/pluginplugingroupIdorg.sonatype.plugins/groupIdartifactIdnexus-staging-maven-plugin/artifactIdversion1.6.7/versionextensionstrue/extensionsconfigurationserverIdossrh/serverIdnexusUrlhttps://s01.oss.sonatype.org//nexusUrlstagingProgressTimeoutMinutes20/stagingProgressTimeoutMinutesautoReleaseAfterClosetrue/autoReleaseAfterClose/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion2.2.1/versionexecutionsexecutionidattach-sources/idgoalsgoaljar-no-fork/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-gpg-plugin/artifactIdversion1.5/versionexecutionsexecutionidsign-artifacts/idphaseverify/phasegoalsgoalsign/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-javadoc-plugin/artifactIdconfigurationadditionalOptionsadditionalOption-Xdoclint:none/additionalOption/additionalOptions/configurationexecutionsexecutionidattach-javadocs/idgoalsgoaljar/goal/goals/execution/executions/plugin/plugins
/build完整的 POM 文件
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdworld.xuewei/groupIdartifactIdxw-fast-parent/artifactIdversion1.0.0/versionpackagingpom/packagingnamexw-fast/namedescriptionXw-Fast 是一个专为 Java Web 开发的针对 Spring 系列框架封装的便捷开发脚手架旨在降低框架的学习使用成本提高工作效率大大提升 Web 开发效率。/descriptionmodulesmodulexw-fast-core/modulemodulexw-fast-web/modulemodulexw-fast-crud/modulemodulexw-fast-all/module/modulespropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingutf-8/project.reporting.outputEncodingAutomatic-Module-Nameworld.xuewei.fast/Automatic-Module-Name!-- versions --compile.version8/compile.versionjunit.version5.9.2/junit.versionlombok.version1.18.26/lombok.versionhutool.version5.7.17/hutool.versionboot.version2.7.17/boot.versionfastjson.version1.2.47/fastjson.version/propertiesdependencies!-- 全局单元测试 --dependencygroupIdorg.junit.vintage/groupIdartifactIdjunit-vintage-engine/artifactIdversion${junit.version}/versionscopetest/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionscopecompile/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion${boot.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion${boot.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactIdversion${boot.version}/version/dependency/dependenciesurlhttps://github.com/373675032/xw-fast/urllicenseslicensenameThe Apache Software License, Version 2.0/nameurlhttp://www.apache.org/licenses/LICENSE-2.0.txt/urldistributionrepo/distribution/license/licenses!-- 仓库信息 --scmconnectionscm:gitgithub.com:373675032/xw-fast.git/connectiondeveloperConnectionscm:gitgithub.com:373675032/xw-fast.git/developerConnectionurlhttps://github.com/373675032/xw-fast/url/scm!-- 开发人员信息 --developersdevelopernameXUEW/nameemailisxueweiqq.com/emailorganizationhttps://github.com/373675032/organizationtimezone8/timezone/developer/developersdistributionManagementsnapshotRepositoryidossrh/idurlhttps://s01.oss.sonatype.org/content/repositories/snapshots/url/snapshotRepositoryrepositoryidossrh/idurlhttps://s01.oss.sonatype.org/service/local/staging/deploy/maven2//url/repository/distributionManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/pluginplugingroupIdorg.sonatype.plugins/groupIdartifactIdnexus-staging-maven-plugin/artifactIdversion1.6.7/versionextensionstrue/extensionsconfigurationserverIdossrh/serverIdnexusUrlhttps://s01.oss.sonatype.org//nexusUrlstagingProgressTimeoutMinutes20/stagingProgressTimeoutMinutesautoReleaseAfterClosetrue/autoReleaseAfterClose/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion2.2.1/versionexecutionsexecutionidattach-sources/idgoalsgoaljar-no-fork/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-gpg-plugin/artifactIdversion1.5/versionexecutionsexecutionidsign-artifacts/idphaseverify/phasegoalsgoalsign/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-javadoc-plugin/artifactIdconfigurationadditionalOptionsadditionalOption-Xdoclint:none/additionalOption/additionalOptions/configurationexecutionsexecutionidattach-javadocs/idgoalsgoaljar/goal/goals/execution/executions/plugin/plugins/build/project部署上传
先刷新、然后清理然后部署。 部署的时间有点长耐心等待这个步骤就是最关键的了我由于配置错误重试了很多次心态都崩了…
验证
使用第一步注册的账号登录系统 https://s01.oss.sonatype.org/。
在前面正在部署的过程中可以观察下面这里 部署完成后可以观察下面这里 如果你找到了你的 Jar那么恭喜你你已经上传成功了之后再需要等待两三个小时在 https://search.maven.org 和 https://mvnrepository.com 便可以搜到自己发布的依赖了同时也会收到一封邮件通知。 参考链接 JAVA 如何上传自己的jar包到Maven中央仓库_本地jar包上传到maven仓库-CSDN博客将项目上传到 Maven 中央仓库2023最新 - 知乎 (zhihu.com)将jar包发布到maven的中央仓库细节整理 - 陈灬大灬海 - 博客园 (cnblogs.com)