Kaedah untuk menyelesaikan pengecualian sumber Java yang hilang (ResourceNotFoundException)
Dalam proses menggunakan pembangunan Java, kita mungkin menghadapi pengecualian "ResourceNotFoundException". Pengecualian ini biasanya disebabkan oleh program tidak dapat mencari fail sumber yang diperlukan. Fail sumber boleh menjadi fail konfigurasi, gambar, fail audio, dsb.
Pengecualian sumber yang hilang mungkin berlaku disebabkan oleh sebab berikut:
Untuk menyelesaikan masalah ini, kita boleh mengambil kaedah berikut:
Kaedah 1: Semak laluan fail sumber
Dalam program, semak sama ada laluan fail sumber yang anda gunakan adalah betul. Anda boleh mencetak laluan fail sumber terlebih dahulu untuk memastikan laluan itu betul.
Sebagai contoh, jika fail sumber anda terletak dalam folder konfigurasi di bawah src/main/resources, maka anda boleh mendapatkan laluan fail sumber seperti ini:
String filePath = getClass().getClassLoader().getResource("config/myfile.txt").getFile();
Kod di atas akan mengembalikan laluan mutlak, anda boleh mengesahkan ia dengan mencetak filePath Adakah laluannya betul?
Kaedah 2: Gunakan kaedah pemuatan sumber yang betul
Apabila menggunakan Java untuk memuatkan fail sumber, biasanya terdapat kaedah berikut:
ClassLoader classLoader = getClass().getClassLoader(); InputStream inputStream = classLoader.getResourceAsStream("config/myfile.txt");
InputStream inputStream = getClass().getResourceAsStream("/config/myfile.txt");
Menggunakan salah satu kaedah ini, fail sumber boleh dimuatkan dengan jayanya jika laluan fail sumber adalah betul.
Kaedah 3: Pastikan fail sumber disalin dengan betul ke laluan sasaran semasa penyusunan
Dalam sesetengah kes, fail sumber yang kami gunakan terletak dalam direktori kod sumber, dan fail sumber ini perlu disalin ke direktori kompilasi semasa kompilasi dalam direktori output. Jika konfigurasi kompilasi tidak betul, fail sumber mungkin tidak disalin dengan betul, menyebabkan sumber kehilangan pengecualian.
Untuk mengkonfigurasi proses kompilasi dengan betul, kami boleh menggunakan alat binaan seperti Maven untuk menyalin fail sumber secara automatik ke direktori output kompilasi. Dalam fail konfigurasi pom.xml Maven, tambahkan konfigurasi berikut:
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <!-- 添加其他需要复制的资源文件 --> </includes> </resource> </resources> </build>
Konfigurasi di atas akan menyalin semua fail xml dan sifat dalam direktori src/main/resources ke direktori output kompilasi.
Ringkasan:
Pengecualian tiada sumber Java (ResourceNotFoundException) biasanya disebabkan oleh program tidak dapat mencari fail sumber yang diperlukan. Masalah ini boleh diselesaikan dengan menyemak laluan fail sumber, menggunakan kaedah pemuatan sumber yang betul dan memastikan fail sumber disalin dengan betul ke laluan sasaran semasa penyusunan. Kaedah di atas boleh membantu kami menyelesaikan pengecualian sumber Java yang hilang dengan berkesan.
Atas ialah kandungan terperinci Kaedah untuk menyelesaikan pengecualian sumber Java yang hilang (ResourceNotFoundException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!