Maison >Java >javaDidacticiel >Pourquoi ne puis-je pas charger des images dans mon fichier JAR exporté depuis Eclipse ?

Pourquoi ne puis-je pas charger des images dans mon fichier JAR exporté depuis Eclipse ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 06:59:09803parcourir

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

Images onLoadable dans un fichier JAR exporté depuis Eclipse

Les rencontres avec des images qui ne parviennent pas à être rendues lors du chargement d'un fichier JAR exporté depuis Eclipse peuvent être frustrantes. Bien que les images soient présentes dans le JAR exporté, elles peuvent ne pas être visibles en raison de techniques de chargement incorrectes.

Variables du chemin de ressource et variations du code

Un aspect essentiel est le utilisation correcte du chemin de ressource. Les images référencées doivent être regroupées dans le dossier de ressources désigné par Eclipse ou placées à côté du code source dans la structure du projet.

Différentes méthodes peuvent être utilisées pour charger les images :

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();
}

Résoudre les problèmes de chargement des ressources

Pour mieux comprendre la raison de l'échec de rendre des images, une comparaison avec des exemples de travail peut s'avérer utile. La section suivante présente des scénarios avec des illustrations et des guides étape par étape pour aider au dépannage :

Exemple 1

Avec les ressources situées dans src, suivez ces étapes :

  • Modifier la structure du fichier du projet, avec des ressources sous forme de package à l'intérieur src.
  • Dans votre code, utilisez le chemin de ressource suivant à côté de la classe MainFrame :

    URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
  • Exportez en tant que JAR exécutable et exécutez-le.

Exemple 2

Pour les ressources qui ne sont pas dans src mais sont inclus dans le projet :

  • Assurez-vous que le dossier des ressources se trouve sur le chemin de construction du projet.
  • Accédez aux images dans le code, mais omettez le préfixe des ressources de le chemin :

    URL url = Main.class.getResource("/stackoverflow.png");
  • Exporter le JAR comme mentionné ci-dessus.

Configuration de lancement

Une fois que les images peuvent être chargées depuis Eclipse, la configuration d'une configuration de lancement est cruciale pour exporter le JAR. Suivez ce processus simple pour créer une configuration :

  • Cliquez avec le bouton droit sur le projet et sélectionnez Exécuter->Exécuter les configurations.
  • Créez une nouvelle configuration de lancement pour votre projet.
  • Assurez-vous que cette configuration est sélectionnée lors de l'exportation en tant que Runnable JAR.

Vérification

  • Lors de l'examen du manifeste du JAR exporté, les lignes suivantes doivent être présentes :

    Rsrc-Main-Class: com.stackoverflow.test.Main
  • Le JAR étendu doit inclure le fichier suivant structure :

    stackoverflow.png (resource file)
  • L'exécution de ce JAR devrait restituer l'image avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn