Desktop
Java のアプリケーションには、jar (ライブラリ) ファイルを含めるためのpre-defined
相対パスがないことがわかりました。すでに CLASS_PATH 環境変数があります。
しかし、なぜEJBモジュールにそのような機能がないのか理解できませんでした... ( Web App has!- throw WEB-INF/lib
)
以下に、Java EE 仕様からの 2 つの抜粋を示します。
JAR 形式のファイル (.jar ファイル、.war ファイル、または .rar ファイルなど) は、参照元の JAR ファイルのマニフェストの Class-Path ヘッダーで参照先の .jar ファイルまたはディレクトリを指定することにより、.jar ファイルまたはディレクトリを参照できます。ファイル。参照される .jar ファイルまたはディレクトリは、参照する JAR ファイルの URL に関連する URL を使用して名前が付けられます。マニフェスト ファイルは、JAR ファイルでは META-INF/MANIFEST.MF という名前です。マニフェスト ファイルの Class-Path エントリの形式は次のとおりです。
Class-Path: list-of-jar-files-or-directories-separated-by-spaces
.ear ファイルには、JAR ファイルにパッケージ化されたライブラリを含むディレクトリが含まれている場合があります。.ear ファイルのデプロイメント記述子の library-directory エレメントには、このディレクトリーの名前が含まれています。library-directory 要素が指定されていない場合、または .ear ファイルにデプロイメント記述子が含まれていない場合は、lib という名前のディレクトリが使用されます。空の library-directory 要素を使用して、ライブラリ ディレクトリがないことを指定できます。このディレクトリ (サブディレクトリではない) 内の .jar 拡張子を持つすべてのファイルは、アプリケーション クライアントを含む、EAR ファイルにパッケージ化されたすべてのコンポーネントで使用できるようにする必要があります。これらのライブラリは、アプリケーションにバンドルされているか、個別にインストールされている他のライブラリを、ここで説明する手法を使用して参照できます。