ここでのタスクには、コード、サードパーティの JAR ファイル、およびそれらに付随する DLL 依存関係を含む単一の JAR ファイルの作成が含まれます。 。この質問は、特に SWT ライブラリを例として注目を集めています。
解決策は、すべてを JAR ファイル内にパッケージ化することにあります。ただし、重要な注意点があります。DLL を使用する前に、JAR から DLL を抽出し、ハード ディスクに保存する必要があります。そうしないと、それらにアクセスできなくなります。
さらに明確にするために、DLL またはその他のファイルを JAR にパッケージ化するときのプロセスは、ZIP アーカイブの作成に似ています。 JAR 構造内に必要なファイルを含めるだけです。
例として、次の Java コード スニペットを考えてみましょう。
// ... static { logger.info("Loading DLL"); try { System.loadLibrary(ACWRAPPER); logger.info("DLL is loaded from memory"); } catch (UnsatisfiedLinkError e) { loadFromJar(); } } private static void loadFromJar() { // we need to put both DLLs to temp dir String path = "AC_" + new Date().getTime(); loadLib(path, ACWRAPPER); loadLib(path, AAMAPI); loadLib(path, LIBEAU); } private static void loadLib(String path, String name) { // ... } // ...
このコードは、JAR からの DLL の抽出と、JAR への配置を示しています。一時ディレクトリに保存され、その後メモリにロードされます。このプロセスを理解することで、DLL の依存関係を含む必要なすべてのコンポーネントを含む JAR ファイルを効果的に作成できます。
以上がJava コードを含む DLL 依存関係を単一の JAR ファイルにパッケージ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。