Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?

Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 06:59:09864semak imbas

Why Can't I Load Images in My Exported JAR from Eclipse?

Imej yang Boleh Dimuat dalam JAR yang Dieksport daripada Eclipse

Pertemuan dengan imej yang gagal dipaparkan semasa memuatkan fail JAR yang dieksport daripada Eclipse boleh mengecewakan. Walaupun imej terdapat dalam JAR yang dieksport, ia mungkin tidak kelihatan kerana teknik pemuatan yang salah.

Pembolehubah Laluan Sumber dan Variasi Kod

Satu aspek penting ialah penggunaan laluan sumber yang betul. Imej yang dirujuk hendaklah dibungkus dalam folder sumber yang ditetapkan Eclipse atau diletakkan bersama kod sumber dalam struktur projek.

Pelbagai kaedah boleh digunakan untuk memuatkan imej:

label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
URL url = getClass().getResource("/resources/header.jpg");
Image image = Toolkit.getDefaultToolkit().getImage(url);
label.setIcon(new ImageIcon(image));
try
{
    label.setIcon(new  ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg"))));
}
catch (IOException e1)
{
    e1.printStackTrace();
}

Menyelesaikan Isu Pemuatan Sumber

Kepada mendapatkan pandangan tentang sebab di sebalik kegagalan untuk memaparkan imej, perbandingan dengan contoh yang berfungsi boleh terbukti membantu. Bahagian berikut membentangkan senario dengan ilustrasi dan panduan langkah demi langkah untuk membantu dalam menyelesaikan masalah:

Contoh 1

Dengan sumber yang terdapat dalam src, ikut langkah berikut:

  • Ubah suai struktur fail projek, dengan sumber sebagai pakej dalam src.
  • Dalam kod anda, gunakan laluan sumber berikut bersama kelas MainFrame:

    URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
  • Eksport sebagai JAR boleh jalan dan jalankannya.

Contoh 2

Untuk sumber yang tidak berada dalam src tetapi disertakan dalam projek:

  • Pastikan folder sumber berada pada laluan binaan projek.
  • Akses imej dalam kod, tetapi tinggalkan awalan sumber daripada laluan:

    URL url = Main.class.getResource("/stackoverflow.png");
  • Eksport JAR seperti yang dinyatakan di atas.

Konfigurasi Pelancaran

Setelah imej boleh dimuatkan dari dalam Eclipse, menyediakan konfigurasi pelancaran adalah penting untuk mengeksport JAR. Ikuti proses mudah ini untuk membuat konfigurasi:

  • Klik kanan pada projek dan pilih Run->Run Configurations.
  • Buat konfigurasi pelancaran baharu untuk projek anda.
  • Pastikan konfigurasi ini dipilih semasa mengeksport sebagai Runnable JAR.

Pengesahan

  • Apabila memeriksa manifes JAR yang dieksport, baris berikut harus ada:

    Rsrc-Main-Class: com.stackoverflow.test.Main
  • JAR yang dikembangkan harus mengandungi fail berikut struktur:

    stackoverflow.png (resource file)
  • Menjalankan JAR ini seharusnya menghasilkan imej dengan jayanya.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?. 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