Rumah > Java > javaTutorial > teks badan

Bagaimanakah Saya Boleh Membungkus Aplikasi Java dengan Fail JAR Pihak Ketiga dan Ketergantungan DLL ke dalam JAR Tunggal?

Susan Sarandon
Lepaskan: 2024-11-24 09:20:10
asal
296 orang telah melayarinya

How Can I Package a Java Application with Third-Party JAR Files and DLL Dependencies into a Single JAR?

Membungkus Fail JAR Pihak Ketiga dengan Ketergantungan DLL

S: Saya mempunyai perpustakaan Java yang memerlukan dua fail DLL dan program Java saya sendiri yang menggunakan perpustakaan ini. Bagaimanakah saya boleh menggabungkan semua komponen ke dalam satu fail JAR yang merangkumi kedua-dua kod saya, JAR pihak ketiga dan DLL?

J: Untuk mencipta fail JAR yang menggabungkan kebergantungan DLL:

  • Bungkus DLL: Sertakan fail DLL di mana-mana sahaja dalam JAR struktur.
  • Ekstrak DLL: Sebelum menggunakan DLL, ekstraknya dari JAR ke lokasi yang ditentukan pada pemacu keras anda. Ini penting untuk pemprosesan selanjutnya.

Dalam bidang pembungkusan, DLL dan fail lain diperlakukan sama seperti fail dalam arkib ZIP. Anda boleh menggunakan kod Java berikut untuk mengekstrak DLL daripada JAR:

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();
        }
    }
}
Salin selepas log masuk

Ingat, membungkus DLL atau fail lain ke dalam JAR adalah semudah membungkus fail ke dalam arkib ZIP. Demonstrasi kod yang disediakan menggunakan struktur fail ZIP untuk mengekstrak DLL daripada JAR.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membungkus Aplikasi Java dengan Fail JAR Pihak Ketiga dan Ketergantungan DLL ke dalam 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