<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      如何將java私有庫(jar)提交至公服/公共倉庫(central repository)-手動版

      如何將java私有庫(jar)提交至公服/公共倉庫(central repository)-手動版

      轉載請著名出處 http://www.rzrgm.cn/funnyzpc/p/18610692

      準備

      • GunPG(用于asc簽名)
      • 項目代碼(建議是maven結構的)
      • sonatype賬號(https://central.sonatype.com/api/auth/login)
      • Maven Helper(Idea插件,maven命令快捷插件)
      • githubgitee賬號(用于注冊sonatypeNamespace)

      注冊sonatype->Namespace

      注冊完成,點進入 View Namespaces :

      Add namespace 如果您的github主頁是 https://github.com/funnyzpc ,則此處就是 io.github.funnyzpc ,如圖:

      驗證是按照生成的 Verification Key 在自己的github賬號下建一個對應 Verification Keyrepository ,如圖提示:

      創建好 repository 后記得要點一下 sonatype 后臺的 Verify Namespace ,一定要等狀態為 Verified 時才可!

      密鑰生成

      • 生成
        使用命令:gpg --generate-key
        然后輸入名字 Real name 以及email Email address ,記得下一步輸入 o保存,一般輸入o后會跳出密碼對話框,輸入自定義密碼即可~,這個密碼后續要用到!

          建議: 名字建議與github的主賬戶名一致,email也是,email需要與后續項目中的(pom文件)中的 developers 標簽定義的一致~

      • 公鑰上傳

        • 先使用命令查看公鑰 gpg --list-keys:

        • 可以看到上面有一長串的pub即是要用到上傳的公鑰:

        • 執行上傳命令

          gpg --keyserver keyserver.ubuntu.com --send-keys [公鑰]
          gpg --keyserver keys.openpgp.org --send-keys [公鑰]
          gpg --keyserver pgp.mit.edu --send-keys [公鑰]
          
        • keyserver 一般有三個,具體見 sonatype 官網指導,建議每一個server都上傳一遍
          具體可參見:https://central.sonatype.org/publish/requirements/gpg/#dealing-with-expired-keys

        需要說明的是此環節只是為文件簽名準備的,跟其他的并無直接關系,后續上傳的asc簽名文件是 sonatype后臺從公鑰服務器做雙向文件驗證而用的。

      項目基本改造

      • 添加plugin

        • 如果是多模塊工程,建議在需要上傳至公服的的模塊的pom中配置,具體需要添加的plugin為:
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <additionalOptions>
                            <!-- 構建doc時忽略代碼中錯誤的doc書寫配置 -->
                            <additionalOption>-Xdoclint:none</additionalOption>
                        </additionalOptions>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
      
      

          記住,必須要配置 maven-javadoc-plugin ,否則 后續 gpg 打包簽名時不會生成 javadoc ,這是個坑~

          參數 -Xdoclint:none 是為了忽略javadoc拋錯而定義的!,上圖代碼有著名~

      • 庫(jar文件)添加中央倉庫(sonatype)還需要一些必要的配置,這些配置包括:descriptionurlscmlicensesdevelopers ,具體xml定義位置是與properties 以及 dependencies 是在同一級
       <description>A Simplified Excel Operating Library,use POI library.</description>
          <url>https://github.com/funnyzpc/mee-excel</url>
          <scm>
              <connection>scm:git:git@github.com:funnyzpc/mee-excel.git</connection>
              <developerConnection>scm:git:git@github.com:funnyzpc/mee-excel.git</developerConnection>
              <tag/>
              <url>https://github.com/funnyzpc/mee-excel</url>
          </scm>
          <licenses>
              <license>
                  <name>Apache License, Version 2.0</name>
                  <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
                  <distribution>repo</distribution>
              </license>
          </licenses>
          <developers>
              <developer>
                  <name>funnyzpc</name>
                  <email>funnyzpc@gmail.com</email>
                  <timezone>+8</timezone>
                  <url>https://github.com/funnyzpc</url>
              </developer>
          </developers>
      

          注意參數需要按照自己的需求配置,如果以上還少了什么,請具體以 后續上傳 時的錯誤提示來修改即可~

          以上修改完成記得要在maven小窗reload以下喲~

      構造基本包

          后續的三種簽名均是以這四個包為基礎做簽名,我們以最 mee-excel 這個庫為參照:https://repo1.maven.org/maven2/io/github/funnyzpc/mee-excel/1.0.0/

      可以看到簽名主要有這四個包為簽名對象:

      • [artifactId]-[版本]-javadoc.jar (文檔)
      • [artifactId]-[版本]-sources.jar (源碼)
      • [artifactId]-[版本].jar (源碼包)
      • [artifactId]-[版本].pom (工程pom)

           當我們猜測到上傳公共倉庫需要什么的時候 ,現在就開始生成對應的 ascmd5sha1 簽名~

      • 使用命令 mvn package gpg:sign -Dmaven.test.skip=true 生成基本包以及 asc 簽名文件

      注意

      • 如果是多模塊需要添加命令項目 -pl [模塊名] 執行,完整:mvn package gpg:sign -Dmaven.test.skip=true -pl [模塊名]
      • 另外注意的是 gpg:sign 命令行一定要包含 package 指令,在 idea 的maven小窗直接執行是不會成功的!
      • 執行后一般會彈出密碼輸入框,輸入的是密鑰生成環節設置的密碼

      好了,執行成功大致是這樣子的,以我的 mee-excel 項目為例:

      如果使用 Maven Helper 插件則右鍵指定的模塊,選擇 package gpg:sign -Dmaven.test.skip=true 命令執行(需要自行配置 Maven helper 后才可使用):

      • 使用命令構建md5sha1簽名文件
        • 使用windows cmd 命令構建md5sha1簽名文件(先cd到對應target目錄)
        certUtil -hashfile mee-excel-1.0.0.jar md5 >> mee-excel-1.0.0.jar.md5
        certUtil -hashfile mee-excel-1.0.0.jar sha1 >> mee-excel-1.0.0.jar.sha1
        
        certUtil -hashfile mee-excel-1.0.0-sources.jar md5 >> mee-excel-1.0.0-sources.jar.md5
        certUtil -hashfile mee-excel-1.0.0-sources.jar sha1 >> mee-excel-1.0.0-sources.jar.sha1
        
        certUtil -hashfile mee-excel-1.0.0-javadoc.jar md5 >> mee-excel-1.0.0-javadoc.jar.md5
        certUtil -hashfile mee-excel-1.0.0-javadoc.jar sha1 >> mee-excel-1.0.0-javadoc.jar.sha1
        
        certUtil -hashfile mee-excel-1.0.0.pom md5 >> mee-excel-1.0.0.pom.md5
        certUtil -hashfile mee-excel-1.0.0.pom sha1 >> mee-excel-1.0.0.pom.sha1
        
      • 使用bash命令修改 md5sha1文件,主要是剔除無用的內容

        • taget目錄(文件管理器中)右鍵選擇 Git Bash here 或者 cmd窗口內切換到bash:直接 bash+ 回車 即可:

        • 執行命令:

         sed -i '1d;3d' mee-excel-1.0.0.jar.md5
         sed -i '1d;3d' mee-excel-1.0.0.pom.md5
         sed -i '1d;3d' mee-excel-1.0.0-javadoc.jar.md5
         sed -i '1d;3d' mee-excel-1.0.0-sources.jar.md5
        
         sed -i '1d;3d' mee-excel-1.0.0.jar.sha1
         sed -i '1d;3d' mee-excel-1.0.0.pom.sha1
         sed -i '1d;3d' mee-excel-1.0.0-javadoc.jar.sha1
         sed -i '1d;3d' mee-excel-1.0.0-sources.jar.sha1
        
        

      ok,現在大致的結構如下:

      構造目標結構

          上一步驟的操作一定要檢查生成的簽名文件是否為空,尤其是第一次操作,而后我們思考公服上面需要上傳什么樣的包

          先以 mee-excel 庫的地址為例吧,這是庫的具體地址: https://repo1.maven.org/maven2/io/github/funnyzpc/mee-excel/1.0.0/

      • io/github/funnyzpc 是我們在 sonatype 后臺配置的 Namespace ,同時也是要對應 模塊或工程pom中的 groupId !
      • mee-excel 是模塊或工程的 artifactId (pom里面)
      • 1.0.0pom中配置的版本(version), 特別要注意的是版本一定不能是或包含 SNAPSHOT

          好,我們就按以上的目錄結構構造本地文件夾,將 這16文件裝進去,其他的不要放!

      也可以參考本人已經上傳的記錄:

      官方文檔請參見: https://central.sonatype.org/publish/publish-portal-upload/

      提交審核

      提交之前先將準備好的文件文件夾整體打包為zip,且按照 io 目錄進行打包,正常打包后文件包應該是 io.zip

      • sonatype 后臺右上角賬號下的 view Deployments
      • 點右上角 Publish Component
      • Deployment Name 一般是可以隨意寫一個的,建議是pom中的 [artifactId]-[version] (eg:mee-excel-1.0.0)
      • Description 可隨意
      • Upload Your File 選擇壓縮的zip包,然后點 Publish Component 即可

      后續審核

          注意審核狀態,默認提交后就是 PENDING 狀態 ,審核通過是 VALIDATED 狀態,一定要注意 VALIDATED 不是最終狀態! 一定要點 Publish 后才會是最終的發布狀態: PUBLISHED !

          如果是 FAILED 狀態,一定要參照驗證信息來修改!

          發布后 一般半天之后才會在公服 https://repo1.maven.org/maven2 上看得到,發布一天后才可在 https://mvnrepository.com 搜索到,至于阿里云上面啥時候能查詢得我也不知道~

      只要在 https://repo1.maven.org/maven2 上能看得到提交的文件時才可使用對應的 dependency ,具體可以使用地址 https://central.sonatype.com/artifact/[groupId]/[artifactId] (eg: https://central.sonatype.com/artifact/io.github.funnyzpc/mee-excel 查詢

      eg:

        <dependency>
            <groupId>io.github.funnyzpc</groupId>
            <artifactId>mee-excel</artifactId>
            <version>1.0.0</version>
        </dependency>
      
      posted @ 2024-12-16 20:01  funnyZpC  閱讀(339)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产对白老熟女正在播放| 北条麻妃一区二区三区av高清| 中文字幕第一页国产| 欧美乱码伦视频免费| 免费萌白酱国产一区二区三区| 国产丝袜在线精品丝袜| 和艳妇在厨房好爽在线观看| 无码乱人伦一区二区亚洲| 怡红院一区二区三区在线| 风流少妇bbwbbw69视频| 在线看片免费人成视频久网| 国产精品不卡一区二区在线| 无码中文字幕热热久久| 亚洲鸥美日韩精品久久| 高清破外女出血AV毛片| 推油少妇久久99久久99久久| 亚洲日本乱码熟妇色精品| 亚洲日本高清一区二区三区| 国产乱人伦真实精品视频| 日日噜噜夜夜狠狠视频| 国产在线观看网址不卡一区| 国产精品欧美亚洲韩国日本久久| 高清日韩一区二区三区视频| 国内不卡一区二区三区| 亚洲成AV人片在线观高清| 超碰成人精品一区二区三| 国产视频最新| 国产大学生自拍三级视频| 亚洲国产精品久久久天堂麻豆宅男| 玩弄丰满少妇人妻视频| 久久精品国产亚洲αv忘忧草 | 少妇高潮喷水正在播放| 少妇伦子伦情品无吗| 妺妺窝人体色WWW看人体| 国产360激情盗摄全集| 大地资源中文第三页| 深夜福利资源在线观看| AV无码不卡一区二区三区| 无码精品人妻一区二区三李一桐| 日本边添边摸边做边爱的网站| 日韩精品一区二区av在线|