"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment accéder de manière cohérente aux ressources intégrées dans un JAR ?

Comment accéder de manière cohérente aux ressources intégrées dans un JAR ?

Publié le 2024-11-10
Parcourir:197

How to access embedded resources in a JAR consistently?

Chargement des ressources à partir d'un JAR

Lors de l'accès aux ressources intégrées dans une archive JAR, les développeurs rencontrent généralement un écart entre le chemin des ressources obtenu lors de l'IDE exécution et lors de l'exécution de l'application via JAR. Dans le contexte de l'EDI, les ressources sont accessibles directement à partir du système de fichiers, tandis que dans l'environnement JAR, le chemin est orné de manière choquante du préfixe de l'archive (par exemple, "jar:/root/app.jar!/").

Pour résoudre ce problème et maintenir un mécanisme d'accès aux ressources cohérent, tenez compte des conseils suivants :

Utiliser getResourceAsStream

Évitez la tentation de charger des ressources à l'aide de FileInputStream ou d'approches similaires. Au lieu de cela, exploitez la méthode getResourceAsStream() pour récupérer une ressource en tant que flux d'entrée, à partir duquel les données peuvent être facilement lues.

Évitez l'accès direct au système de fichiers

Si votre le code repose sur l'accès aux ressources sous forme de fichiers uniques stockés dans le système de fichiers, évitez de regrouper ces ressources dans un fichier JAR. Envisagez une solution alternative, par exemple en les conservant sous forme de fichiers séparés.

Envisagez l'extraction de fichiers temporaires

En dernier recours, vous pouvez explorer une solution hacky impliquant les étapes suivantes :

  1. Vérifiez si la ressource se trouve dans un fichier séparé au sein du JAR.
  2. Si ce n'est pas le cas, extrayez la ressource dans un fichier temporaire. fichier.
  3. Utilisez le fichier extrait si nécessaire dans votre application.

Bien que cette approche puisse être fonctionnelle, sa nature aléatoire suggère qu'elle doit être utilisée avec prudence.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3