ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

package-info.javaとは何か?

今更ながら、「package-info.java」というファイルについて調べたことを簡単にまとめる。

一言で言えば、名前の通りJavaにおけるパッケージの情報を記載しておくためのファイルのこと。

それが何に役立つかと言うと、HTML生成したJavadocにそのパッケージの情報が表示される。

具体的に見た方が分かりやすいので、今回は「commons-lang3」ライブラリでどのように記載されているかを確認してみる。

以下は、commons-lang3のJavadocのパッケージの一覧の部分を表示している。

commons-lang3のJavadoc

この中で「org.apache.commons.lang3.event」に注目してみる。

commons-lang3のJavadoc

「Provides some useful event-based utilities.」という説明分(Description)が記載されている。この説明文を具合的にどこで記載できるのかというと、本題の「package-info.java」というファイルなのである。

上記ライブラリ「commons-lang3」のソースをダウンロードして実際に見てみると、以下の通りパッケージ「org.apache.commons.lang3.event」の配下に「package-info.java」が格納されている。

org.apache.commons.lang3.eventのソース

中身を見てみると、以下の通り。

pacage-info.javaの中身

ファイルの最初の部分1行目~16行目はライセンスの記載なので、このファイルとは直接的には関係ない。重要なのは、17行目から行末までの記載の部分。

javadocコメントで記載されているが、ここに記載されている説明文は先ほどブラウザで見たjavadoc「org.apache.commons.lang3.event」と同じものである。

こんな感じで、パッケージの説明分を記載しておくことで、このパッケージにはどのような機能を持つクラスが格納されているのかなどを利用者に示すことができるので、ちゃんとしたい場合は作成しておくと良いかも。

いつかは役に立つかもしれないけど、あまり自分で記載する機会はないかもしれない。頭の片隅に置いておいて、実際に使いそうな時はこの記事をみて思い出せば良さそう。

今回はこの辺まで。最後までお読みいただきありがとうございました。