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 :
Bien que cette approche puisse être fonctionnelle, sa nature aléatoire suggère qu'elle doit être utilisée avec prudence.
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