Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengakses Sumber dari Fail JAR di Java?

Bagaimana untuk Mengakses Sumber dari Fail JAR di Java?

Barbara Streisand
Barbara Streisandasal
2024-11-06 16:36:02542semak imbas

How to Access Resources from JAR Files in Java?

Memuatkan Sumber daripada Fail JAR

Dalam aplikasi anda, anda memuatkan sumber menggunakan WinProcessor.class.getResource("repository"). toString(), yang menyediakan laluan fail apabila dijalankan daripada IDE tetapi mengembalikan URL JAR apabila melaksanakan sebagai fail JAR. Percanggahan ini timbul kerana fail JAR mengandungi sumber dalam format mampat dan berpakej.

Memahami Pemuatan Sumber dalam JAR

Apabila anda membungkus aplikasi anda ke dalam fail JAR, kandungannya , termasuk sumber, disimpan dalam arkib. Apabila anda cuba mengakses sumber dari dalam fail JAR, JVM melayannya secara berbeza daripada fail dalam sistem fail. Kaedah getResource mengembalikan URL yang menghala ke lokasi sumber dalam JAR.

Penyelesaian: Menggunakan getResourceAsStream

Untuk menyelesaikan isu ini, disyorkan untuk menggunakan getResourceAsStream dan bukannya getResource. getResourceAsStream mengembalikan InputStream yang membolehkan anda membaca kandungan sumber terus daripada fail JAR. Anda kemudiannya boleh menggunakan InputStream untuk mencipta objek yang diperlukan, seperti ConfigurationContext atau tetapkan sifat sistem.

Berikut ialah contoh yang dikemas kini menggunakan getResourceAsStream:

InputStream repositoryInputStream = WinProcessor.class.getResourceAsStream("repository");
ConfigurationContext ctx = (ConfigurationContext) ConfigurationContextFactory.createConfigurationContextFromFileSystem(repositoryInputStream, null);

InputStream fileNameInputStream = WinProcessor.class.getResourceAsStream("file_name");
System.setProperty("javax.net.ssl.trustStore", fileNameString);

Dengan menggunakan getResourceAsStream, anda boleh mengelakkan isu perbezaan laluan antara berjalan dari IDE dan melaksanakan sebagai fail JAR. InputStream dengan betul menunjuk ke lokasi sumber dalam JAR, membolehkan anda mengakses kandungannya.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Sumber dari Fail JAR di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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