DLL 依存関係を含むサードパーティ JAR ファイルのパッケージ化
Q: 2 つの DLL ファイルと独自の Java プログラムを必要とする Java ライブラリがあります。このライブラリを利用します。すべてのコンポーネントを、コード、サードパーティの JAR、および DLL の両方を含む単一の JAR ファイルに結合するにはどうすればよいですか?
A: DLL の依存関係を組み込んだ JAR ファイルを作成するには:
パッケージ化の領域では、DLL およびその他のファイルは ZIP アーカイブ内のファイルと同様に扱われます。次の Java コードを使用して、JAR から DLL を抽出できます。
import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class ExtractDLLs { public static void main(String[] args) { String jarPath = "path/to/my.jar"; String outputDirectory = "path/to/output"; try (ZipFile jarFile = new ZipFile(jarPath)) { Enumeration<? extends ZipEntry> entries = jarFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); if (entry.isDirectory()) { continue; } if (entry.getName().endsWith(".dll")) { InputStream in = jarFile.getInputStream(entry); OutputStream out = new FileOutputStream(new File(outputDirectory, entry.getName())); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } in.close(); out.close(); } } } catch (IOException e) { e.printStackTrace(); } } }
DLL またはその他のファイルを JAR にパッケージ化することは、ファイルを ZIP アーカイブにパッケージ化するのと同じくらい簡単であることを覚えておいてください。提供されているコードのデモでは、ZIP ファイル構造を利用して JAR から DLL を抽出します。
以上がサードパーティの JAR ファイルと DLL の依存関係を含む Java アプリケーションを単一の JAR にパッケージ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。