2017-08-01 15 views
-1

スタンドアロンのJavaコマンドラインプログラムを作成した開発者がいます。これらのプログラムは、SQL Server JARなどのライブラリを共有します。これらの共有された外部jarファイルは、慣習に従って優先または標準の場所とは何ですか?コマンドラインJavaプログラム用のjarファイルを置く標準的な場所

    のlib/
  • は/ usr/local
  • /
  • の/ var/libに
  • 選ぶ
+0

もっとOSの配布に関する質問のように –

+0

Linuxの味に依存します。異なるディストリビューションでは、ユーザーコードの推奨場所が異なります。 – Andreas

答えて

0

場所が場所を標準化するほどには重要ではありません。もう1つの解決策は、Mavenのような依存関係管理システムを使用して、jarファイル内の依存関係をパッケージ化することです。ただし、複数のプロジェクト間でjarファイルを再利用しているにも関わらず、依存関係が存在し、他のアプリケーションを破壊する新しいバージョンの共有フォルダ内の依存関係のバージョンをスワップすることはありません。

0

Javaはクラスとライブラリのロードを管理するいくつかの方法を提供しますが、OSに基づいて1つの場所を探すことは、Javaプラットフォームに依存しないものです。代わりにhow Java finds classesに基づいてプロジェクトの共通の場所を定義してみてください。

また、JARからコマンドラインアプリケーションを実行している場合、Mavenには便利なプラグインがあります。bundle your java classes as an executable jarはるかにクリーンで、個々のアプリケーションの範囲内でライブラリをカプセル化します。

関連する問題