Javaディレクトリ構成¶
Javaで作成したライブラリやアプリケーションプログラムを実行環境にどのようなディレクトリで格納するかを調査・検討したノートです。
Windows OS¶
Linux OS¶
Fedora,RPMパッケージ¶
Fedoraプロジェクトのドキュメント Packaging:Java
- JNIを使用しないJARファイル(アーキテクチャに依存しないもの)は、%{_javadir}かそのサブディレクトリに置く。%{_javadir}は、/usr/share/java(CentOS 6.5 64bit版でrpmbuild -showrcを実行し、関係する定義を抜粋)
_javadir %{_datadir}/java _datadir %{_datarootdir} _datarootdir %{_prefix}/share _prefix /usr
- JNIを使用するJARファイルは、%{_jnidir}に置き、%{_libdir}/%{name}にシンボリックリンクを設けることができる。%{_jnidir}は、/usr/lib/java、{%_libdir}/%{name}は、/usr/lib64/<名前>
_jnidir %{_prefix}/lib/java _libdir %{_prefix}/lib64
- %{name}は、RPMパッケージ名
- JNIの共有ライブラリファイルは、%{_libdir}/%{name}に格納する
- 単一JARファイルを提供するパッケージは、%{name}.jarとすべき
- 複数JARファイルを提供するパッケージは、%{name}サブディレクトリに格納すべき
- Java APIドキュメントは、%{_javadocdir}/%{name}に格納しなければならない。ディレクトリ又はシンボリックリンクでバージョン付き(%{name}-%{version})を使用すべきでない。{%_javadocdir}は/usr/share/javadoc
_javadocdir %{_datadir}/javadoc
- JARファイルのMANIFEST.MFにはclass-pathを含めてはならない
- 実行スクリプトファイルは%{_bindir}に置くべき。{_bindir}は/usr/bin
_bindir %{_exec_prefix}/bin _exec_prefix %{_prefix}
ArchLinux¶