LoginSignup
1
1

Maven Central へ行く前にjarとpomを作成

Last updated at Posted at 2023-06-19

準備する必要なもの

Maven Centralの要求により、公開したいjarとともに、pomとsourceとjavadocを一緒にアップロードする必要です。以下は一式ファイルの例です。
image.png

jarの名称について

jarの命名はルールがあります。pomに記載されるartifactIdとversionは、「-」で連結してjarファイル名になります。javadocとsourcesファイルは、リリースしたいjarファイル名に接尾語を付けて命名します。
image.png

efw-4.06.015.jar = [artifactId] + "-" + [version] + ".jar"
efw-4.06.015-javadoc.jar = [artifactId] + "-" + [version] + "-" + "javadoc" + ".jar"
efw-4.06.015-sources.jar = [artifactId] + "-" + [version] + "-" + "sources" + ".jar"

※また、リリースするjarは、正式版とスナップショット版も接尾語"SNAPSHOT"で区別します。それぞれは、Maven Centralに格納場所が違うらしいです。画面経由のアップロードは正式版のみで、スナップショット版はmavenツールでしかできません。残念ですが、mavenツールには不慣れの点が多く、スナップショット版のアップロードは別途チャンレンジします。

jarの作成

自分はeclipseを利用しています。eclipseでjarを作成する場合、プロジェクトを選んで右クリックして「エクスポート」メニューを選択して、エクスポート画面が表示します。エクスポート画面にjarファイルを選択して「次へ」ボタンを押します。
image.png
jarエクスポート画面が表示されます。ソースフォルダ、クラスファイルとリソース、jarファイル名、3点を入力して、完了ボタンを押します。これでjar作成が完了です。
image.png

javadocの作成

javadocの作成は、ソースをもう一回レビューしてくれと理解してよいです。このクラスは継承される必要ですか、このメソッドを本当に公開してよいですかなど、いろいろ整理して必要最小限のpublicクラス・属性・メソッドにしましょう。そうしないといっぱいjavadocを作らないといけないからです。とMaven Centralの考えでしょう。

eclipseでjavadocを作成する場合、プロジェクトを選んで右クリックして「エクスポート」メニューを選択して、エクスポート画面が表示します。エクスポート画面にjavadocを選択して「次へ」ボタンを押します。
image.png
まずjavadoc.exeのパスを登録します。次はソースフォルダ、public選択子、保存先パスを入力して、完了ボタンを押します。これでjavadocが作成されます。もしソースのコメントに不備がある場合、いろいろエラーと警告が出ます。自分の場合、気が遠くなるまで修正し続けました。
image.png
javadocのステップはまだ終わっていません。次はdocフォルダをjarファイルに圧縮することです。javadocのjarファイル名は前述のルールに従います。

set path=C:\EFW_ALL\jdk1.8.0_351\bin
cd C:\EFW_ALL\pleiades\workspace\efw4x\doc
rem 現在フォルダ配下の全ファイルを対象にする
jar -cvf ../maven/efw-4.06.015-javadoc.jar .
pause

sourcesの作成

もう一回エクスポート画面を呼び出します。
image.png
jarエクスポート画面に、ソースフォルダ、ソース、jarファイル名を入力します。sourcesのjarファイル名は前述のルールに従います。
image.png

POMの作成

jarを準備できました。次はpomを作成します。Maven Centralの要求事項をご参考。https://central.sonatype.org/publish/requirements/

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.github.efwgrp</groupId>
  <artifactId>efw</artifactId>
  <version>4.06.015</version>
  <name>ESCCO-Framework</name>
  <description>
    "efw" is an Ajax framework for server site JavaScript designed 
    and developed by Escco Co., Ltd. using a goal-oriented method. 
    It is provided as open source free software.
  </description>
  <url>https://github.com/efwGrp/efw4.X</url>
  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>kejun.chang</name>
      <email>kejun.chang@escco.co.jp</email>
      <organization>efwgrp</organization>
      <organizationUrl>https://github.com/efwGrp</organizationUrl>
    </developer>
  </developers>
  <scm>
    <connection>https://github.com/efwGrp/efw4.X.git</connection>
    <developerConnection>https://github.com/efwGrp/efw4.X.git</developerConnection>
    <url>https://github.com/efwGrp/efw4.X/tree/master</url>
  </scm>
</project>

これで準備完了。残りは署名とアップロードですが、もう文書がながくなっているから、次にしましょう。

Maven Central へリポジトリを申し込む
Maven Central へ行く前にjarとpomを作成
jarとpomを署名してMaven Centralへアップロード

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1