一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 如何使用gradle將java項目推送至maven中央倉庫

如何使用gradle將java項目推送至maven中央倉庫

2021-09-29 16:25碼農-文若書生 Java教程

本文主要介紹了使用gradle將java項目推送至maven中央倉庫,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、注冊Sonatype賬號申請創建項目

到鏈接:https://issues.sonatype.org/注冊一個賬號。
創建點擊頂部導航欄的 create 創建項目

如何使用gradle將java項目推送至maven中央倉庫

如上填寫,注意的是group id我這里使用的是gitee的二級域名地址,這個域名必須是真實的,與project url中的一致。或者自己有一個域名按照提示的鏈接去驗證。project url是代碼地址,我這里使用的gitee的地址,scm url是代碼倉庫地址。

二、等待Sonatype申請批復

等待批復結果,如果有問題,按照提示修改,這是我的ISSUE

如何使用gradle將java項目推送至maven中央倉庫

三、生成GPG

從地址https://gpg4win.org/thanks-for-download.html下載,我使用的windows版本。

執行 gpg --gen-key
按照提示的信息填入密碼,用戶名等信息,這些信息記錄下來。這里填入的密碼就是上面

執行gpg --list-keys 可以看到

  1. pub 2048R/B98765 2018-12-08
  2. uid
  3. sub 2048R/A123456

第一行便是對應的公鑰文件位置,B98765便是public key Id,這個id也就是上面

執行

  1. gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys B98765

將公鑰發送到
hkp://pool.sks-keyservers.net

導出key:
gpg --export-secret-key 2048R/B98765 > secret.gpg

四、配置gradle

注釋下面的url中有s01,必須使用https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/,網上教程中的都沒有s01,那是過時的教程。
gradle中添加插件:

  1. apply plugin: 'maven-publish'
  2. apply plugin: 'signing'

推送配置:

  1. jar {
  2. enabled = true
  3. }
  4. task sourcesJar(type: Jar) {
  5. from sourceSets.main.allJava
  6. archiveClassifier = 'sources'
  7. }
  8. task javadocJar(type: Jar) {
  9. from javadoc
  10. classifier = 'javadoc'
  11. }
  12. sourceSets.main.resources.srcDirs = ["src/main/java","src/main/resources"]
  13.  
  14. publishing {
  15. publications {
  16. mavenJava(MavenPublication) {
  17. groupId project.group
  18. artifactId project.name
  19. version project.version
  20. //若是war包,就寫components.web,若是jar包,就寫components.java
  21. from components.java
  22. // artifact shadowJar
  23. artifact sourcesJar
  24. artifact javadocJar
  25. pom {
  26. // 構件名稱
  27. // 區別于artifactId,可以理解為artifactName
  28. name = 'newframe'
  29. // 構件描述
  30. description = 'newframe快速開發框架'
  31. // 構件主頁
  32. url = 'https://gitee.com/quanwenz/newframe'
  33. // 許可證名稱和地址
  34. licenses {
  35. license {
  36. name = 'The Apache License, Version 2.0'
  37. url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
  38. }
  39. }
  40. // 開發者信息
  41. developers {
  42. developer {
  43. name = 'iscas'
  44. email = '[email protected]'
  45. }
  46. }
  47. // 版本控制倉庫地址
  48. scm {
  49. url = 'https://gitee.com/quanwenz/newframe'
  50. connection = 'scm:git:https://gitee.com/quanwenz/newframe.git'
  51. developerConnection = 'scm:git:https://gitee.com/quanwenz/newframe.git'
  52. }
  53. }
  54. }
  55. }
  56. // 定義發布到哪里
  57. repositories {
  58. maven {
  59. name 'newframeRepository'
  60. // url "https://oss.sonatype.org/service/local/staging/deploy/maven2"
  61. url "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
  62. credentials {
  63. // 這里就是之前在issues.sonatype.org注冊的賬號
  64. username = "${sonatypeUsername}"
  65. password = "${sonatypePassword}"
  66. }
  67. }
  68. }
  69. }
  70.  
  71. signing {
  72. sign publishing.publications.mavenJava
  73. }
  74.  
  75. javadoc {
  76. // <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  77. // 防止本地打開中文亂碼
  78. // options.addStringOption("charset", "UTF-8")
  79. options.encoding = "UTF-8"
  80. failOnError = false
  81. }
  82. }

在項目下添加gradle.properties目錄
添加配置:

  1. signing.keyId=ABC2E7F0
  2. signing.password=xxx
  3. signing.secretKeyRingFile=C:/Users/admin/secret.gpg
  4.  
  5. sonatypeUsername=zhuquanwen
  6. sonatypePassword=xxxx

其中keyId是gpg那步生成keyid,密碼為生成時填入的密碼,secretKeyRingFile是導出的文件,
sonatypeUsername和sonatypePassword是第一步注冊的賬號和密碼

在gradle的task中添加publish將代碼上傳至中央倉庫

五、Sonatype將項目同步至Maven中央倉庫

登陸https://s01.oss.sonatype.org/#stagingRepositories,使用第一步注冊的賬號密碼登陸。

如何使用gradle將java項目推送至maven中央倉庫

選中倉庫,先點擊close,再執行release,等待4個小時就可以了

到此這篇關于如何使用gradle將java項目推送至maven中央倉庫的文章就介紹到這了,更多相關gradle推送至maven中央倉庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/u011943534/article/details/120168285

延伸 · 閱讀

精彩推薦
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 91小视频在线观看免费版高清 | 亚色九九九全国免费视频 | 美女张开双腿让男人捅 | 色综合色狠狠天天久久婷婷基地 | 国产成人福利色视频 | 草草在线视频 | 精品国产人妻国语 | 高h生子双性美人受 | 99ri在线精品视频在线播放 | 国产大神91一区二区三区 | 免费看日本 | 高清视频在线观看+免费 | 精品高潮呻吟99AV无码 | 2022最新国产在线 | 激情三级做爰在线观看激情 | 国产成人精品男人的天堂538 | 99热这里只有精品国产在热久久 | 美女的隐私视频免费看软件 | 国产亚洲福利精品一区 | 我被男人下药添得好爽 | 激情六月丁香婷婷四房播 | 交换性关系中文字幕6 | 禁忌第一季第3季 | b站免费网站入口 | www日本高清视频 | 美女把小内内脱个精光打屁屁 | 欧美a欧美1级 | pron在线观看 | 嫩草视频在线观看视频播放 | 亚洲AV精品一区二区三区不卡 | 无限在线看免费视频大全 | 男同桌扒开女同桌胸罩喝奶 | 好男人免费高清在线观看2019 | 色人阁导航 | 色综合色狠狠天天久久婷婷基地 | 日韩视频在线精品视频免费观看 | 奇米影视先锋 | 亚洲v成人天堂影视 | 非洲黑人gay巨大 | 双龙高h | 亚洲国产成人久久综合一区77 |