スタンドアロンのJavaコマンドラインプログラムを作成した開発者がいます。これらのプログラムは、SQL Server JARなどのライブラリを共有します。これらの共有された外部jarファイルは、慣習に従って優先または標準の場所とは何ですか?コマンドラインJavaプログラム用のjarファイルを置く標準的な場所
-
のlib/
- は/ usr/local
- /
- の/ var/libに 選ぶ
スタンドアロンのJavaコマンドラインプログラムを作成した開発者がいます。これらのプログラムは、SQL Server JARなどのライブラリを共有します。これらの共有された外部jarファイルは、慣習に従って優先または標準の場所とは何ですか?コマンドラインJavaプログラム用のjarファイルを置く標準的な場所
場所が場所を標準化するほどには重要ではありません。もう1つの解決策は、Mavenのような依存関係管理システムを使用して、jarファイル内の依存関係をパッケージ化することです。ただし、複数のプロジェクト間でjarファイルを再利用しているにも関わらず、依存関係が存在し、他のアプリケーションを破壊する新しいバージョンの共有フォルダ内の依存関係のバージョンをスワップすることはありません。
Javaはクラスとライブラリのロードを管理するいくつかの方法を提供しますが、OSに基づいて1つの場所を探すことは、Javaプラットフォームに依存しないものです。代わりにhow Java finds classesに基づいてプロジェクトの共通の場所を定義してみてください。
また、JARからコマンドラインアプリケーションを実行している場合、Mavenには便利なプラグインがあります。bundle your java classes as an executable jarはるかにクリーンで、個々のアプリケーションの範囲内でライブラリをカプセル化します。
もっとOSの配布に関する質問のように –
Linuxの味に依存します。異なるディストリビューションでは、ユーザーコードの推奨場所が異なります。 – Andreas