Maison > Java > javaDidacticiel > le corps du texte

Pourquoi getClass().getResource() provoque-t-il des NullPointerExceptions dans Eclipse et Command Line ?

DDD
Libérer: 2024-11-06 19:53:03
original
245 Les gens l'ont consulté

Why does getClass().getResource() cause NullPointerExceptions in Eclipse and Command Line?

Problèmes de chargement de fichiers avec getClass().getResource() dans Eclipse et la ligne de commande

Chargement de ressources à l'aide de getClass().getResource() peut être difficile lorsque vous travaillez avec Eclipse et la ligne de commande, conduisant à des exceptions de pointeur nul. Pour résoudre ce problème, nous devons comprendre comment fonctionnent les chargeurs de classes.

Problèmes de chemin de classe

getClass().getResource() utilise le chargeur de classe pour localiser les ressources. Cela implique que la ressource doit résider dans le chemin de classe pour être accessible. Lors de l'exécution du programme dans Eclipse, le répertoire bin, qui comprend les fichiers de classe compilés et les fichiers de ressources, est automatiquement ajouté au chemin de classe. Par conséquent, la ressource est chargée avec succès.

Cependant, lors de l'exécution du programme à partir de la ligne de commande, le répertoire bin n'est pas inclus dans le chemin de classe par défaut. Par conséquent, la ressource reste inaccessible, ce qui entraîne l'exception du pointeur nul.

Méthode de chargement des ressources

Lors du chargement des ressources, les meilleures pratiques suivantes doivent être respectées :

getClass().getResourceAsStream("Test.properties")
Copier après la connexion

Cette méthode garantit que la ressource est récupérée à l'aide du chargeur de classe, qui est compatible à la fois avec les systèmes de fichiers locaux et d'autres scénarios de déploiement tels que les fichiers JAR ou le chargement réseau.

En adressant le chemin de classe problèmes et en utilisant la méthode de chargement des ressources recommandée, nous pouvons éliminer efficacement les exceptions de pointeur nul rencontrées lors du chargement des ressources à l'aide de getClass().getResource().

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!