Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengakses Manifes Jar Anda Sendiri di Jawa?

Linda Hamilton
Lepaskan: 2024-11-12 11:38:02
asal
951 orang telah melayarinya

How to Access the Manifest of Your Own Jar in Java?

Membaca Manifes Balang Anda Sendiri

Mengakses fail Manifes yang dikaitkan dengan kelas anda sendiri boleh menjadi satu cabaran, terutamanya apabila menggunakan getClass( ).getClassLoader().getResource(...). Kaedah ini mungkin mengembalikan manifes daripada fail .jar yang berbeza jika dipanggil daripada applet atau persekitaran webstart.

Untuk mengatasi had ini, pertimbangkan penyelesaian berikut:

1. Mengulang Melalui URL Manifes

Lelaran melalui URL yang dikembalikan oleh getResource(...) dan bacanya sebagai manifes sehingga anda menemui yang betul:

Enumeration<URL> resources = getClass().getClassLoader()
   .getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
     try {
       Manifest manifest = new Manifest(resources.nextElement().openStream());
       // check that this is your manifest and do what you need or get the next one
       ...
     } catch (IOException E) {
       // handle
     }
}
Salin selepas log masuk

2 . Menggunakan URLClassLoader

Jika getClass().getClassLoader() ialah instance java.net.URLClassLoader, anda boleh menghantarnya dan menggunakan findResource(...):

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
   URL url = cl.findResource("META-INF/MANIFEST.MF");
   Manifest manifest = new Manifest(url.openStream());
   // do stuff with it
   ...
} catch (IOException E) {
   // handle
}
Salin selepas log masuk

Pendekatan ini diketahui dapat mengembalikan manifes yang betul untuk applet.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Manifes Jar Anda Sendiri di Jawa?. 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