Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Membungkus DLL dengan Kod Java ke dalam Fail JAR Tunggal?

Patricia Arquette
Lepaskan: 2024-11-27 14:01:10
asal
910 orang telah melayarinya

How to Package DLLs with Java Code into a Single JAR File?

Membungkus Fail JAR dengan Kemasukan DLL

Soalan: Bagaimanakah anda boleh mencipta satu fail JAR yang menggabungkan kod anda, JAR pihak ketiga , dan DLL yang disertakan fail?

Jawapan: Untuk membungkus fail DLL dengan JAR anda, ikut langkah berikut:

  1. Sertakan fail DLL: Letakkan fail DLL di mana-mana sahaja dalam JAR.
  2. Ekstrak sebelum digunakan: Sebelum mengakses DLL, ekstraknya daripada JAR dan simpannya pada cakera keras.

Kod Contoh:

Kod Java yang disediakan menunjukkan kaedah untuk memuatkan DLL daripada JAR ke dalam memori:

public class Foo {

    static {
        System.loadLibrary(ACWRAPPER);
    }

    private static void loadFromJar() {
        // Extract DLLs to a temporary location
        String path = "AC_" + new Date().getTime();
        loadLib(path, ACWRAPPER);
        loadLib(path, AAMAPI);
        loadLib(path, LIBEAU);
    }

    private static void loadLib(String path, String name) {
        name = name + ".dll";
        try {
            InputStream in = ACWrapper.class.getResourceAsStream(LIB_BIN + name);
            File fileOut = new File(System.getProperty("java.io.tmpdir") + "/" + path + LIB_BIN + name);
            OutputStream out = FileUtils.openOutputStream(fileOut);
            IOUtils.copy(in, out);
            System.load(fileOut.toString());
        } catch (Exception e) {
            throw new ACCoreException("Failed to load required DLL", e);
        }
    }
}
Salin selepas log masuk

Nota:

  • Adalah penting untuk mengekstrak DLL sebelum digunakan, kerana anda tidak boleh memuatkannya secara langsung daripada JAR.
  • Membungkus DLL ke dalam JAR adalah serupa dengan membungkus sebarang jenis fail lain.

Atas ialah kandungan terperinci Bagaimana untuk Membungkus DLL dengan Kod Java ke dalam Fail JAR Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan