jarとpomを署名してMaven Centralへアップロード

# 署名ツールGnuPGのインストール
参考するリンクは以下です。
https://central.sonatype.org/publish/publish-manual/#bundle-creation
https://central.sonatype.org/publish/requirements/gpg/
まずGnuPGをダウンロードします。よくわからないですが、64bit版が存在せず、32bit版しかないらいしです。また、多国語にうまく対応されていないみたいが、フリーですから、我慢、我慢。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/0778b713-f112-6467-1159-f337774830cd.png)
# キーペアを作成
公開キーと秘密キーのセットを作成します。作成途中で、ランダム入力と要求する画面がでますが、文字化けになってしまってボタン以外なにもわかりません。変な依頼ではないと信じるしかないですね。
作成後公開キーは見えます。秘密キーは別コマンドで閲覧可能です。
```batchfile
set "path=C:\Program Files (x86)\gnupg\bin"
gpg --gen-key
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/07788ddb-b9a4-2b25-d780-88fcb2e174ba.png)
# 公開キーをキーサーバに配布
以下のコマンドで配布を行います。
```batchfile
set "path=C:\Program Files (x86)\gnupg\bin"
gpg --keyserver keyserver.ubuntu.com --send-keys 987186DC19C97F0CDC115DF5D2E4379F0126678B
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/d88daf64-2eff-dc6e-9846-8d40eeaccd44.png)
# jarとpomに署名する
署名成功の場合、拡張子ascのファイルが作成されます。
```batchfile
set "path=C:\Program Files (x86)\gnupg\bin"
cd C:\EFW_ALL\pleiades\workspace\efw4x\maven
gpg -ab efw-4.06.015.pom
gpg -ab efw-4.06.015-javadoc.jar
gpg -ab efw-4.06.015.jar
gpg -ab efw-4.06.015-sources.jar
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/6aeae722-82e7-5623-27d2-3c27fb02c415.png)
# Maven Centralにアップロード
jarファイル、pomファイル、ascファイル合わせて8つのファイルをMaven Centralにアップロードします。アップロード先のURLです。https://s01.oss.sonatype.org/
Maven Centralへ申し込んだアカウントでログインできます。このサイトはすぐタイムアウトになるので、しばらく放っておいて再び操作する際動きがおかしくなります。これはタイムアウトの現象で再ログインすれば解決になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/4d7685a9-b1bb-67f7-5cd7-4b52eb017a32.png)
ログイン後、サイトメニューから「Staging Upload」をクリックして、右画面の「Upload Mode」は「Artifact(s) with a POM」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/7a0566ac-5896-8951-b29b-bc4ae3cd8f40.png)
pomファイルを最初の枠に入力して、ほかのjarファイルとascファイルはArtifactsとして全部登録します。アップロードボタンを押して成功を待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/0aaacf80-0fd1-8077-64f3-5d3ed5a62e67.png)
すぐ脆弱性チェックのメールが来ます。自分の場合問題なしです。問題があったら修正依頼になるかどうかわかりません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/d530d28f-9a3f-19ca-ecb1-66fac6dd1121.png)
# ステージリポジトリを確認
サイトメニュー「Staging Respositories」をクリックして、右画面の「Refresh」ボタンを押して、最新のアップロード内容をチェックして、右下画面で詳細を閲覧できます。エラーがある場合、画像の行1007のように赤いアイコンがつけられます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/ea79669c-57b9-2785-40d3-79850018cd5f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/676dc083-57f5-5f79-15f0-1f08da3cbc4f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/f4d7b9e6-dedb-d0f9-965e-50e156d5ca71.png)
# リリースしましょう
数日の成果をよくチェックして、問題がなければリリースします。リリースボタンを押して、確認ボタンを押して、リリース完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/1f2e652a-448f-877f-3ef9-7df7853c8e44.png)
リリースジリポジトリから確認できました。Yeah!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3476221/d4fb8c0c-c5ad-34d5-c61d-a9bbd62dc283.png)
いつか自動化のやり方を試してみたいです。毎回このやり方はさすが面倒ですね。

[Maven Central へリポジトリを申し込む](https://qiita.com/changkejun/items/646825ddada989942149)
[Maven Central へ行く前にjarとpomを作成](https://qiita.com/changkejun/items/e90e5c18167cd43c6723)
[jarとpomを署名してMaven Centralへアップロード](https://qiita.com/changkejun/items/5c5151a68c32518a765d)