J'utilise classpathresource
pour obtenir la ressource d'un fichier. Dans mon code, je spécifie le chemin pour que le fichier soit choisi à partir de là. Mais c'est prendre un fichier avec le même nom qui est déjà là dans un pot de précédent.Spécification d'un fichier dans une ressource de chemin de classe
-à-dire, Je spécifié,
ClassPathResource resource = new ClassPathResource("/sw/merlot/config/log4j.xml")
où log4j.xml
est le fichier de configuration.
Mais sa prise un log4j.xml
qui est dans un bocal - sw/merlot/lib/keyManager.jar!/log4j.xml
(deux log4j.xml
sont différents [2 différents fichiers de configuration])
donc je l'ai changé,
ClassPathResource resource = new ClassPathResource("file:///sw/merlot/config/log4j.xml")
Mais ça ne marche toujours pas.
Je ne sais pas si la façon dont j'ai spécifié le fichier est correcte ou non? J'ai également essayé de spécifier le fichier en utilisant un pot.
ClassPathResource resource = new ClassPathResource("jar:file:///sw/merlot/lib/keyManager111.jar!/log4j.xml")
où keyManager111.jar
contient mon log4j.xml
que je veux. Mais ce n'est toujours pas en train de choisir dans le pot. Son fichier révélateur n'est pas trouvé à l'emplacement spécifié.
Juste créer un 'ClassPathResource' ne fait rien lui-même. Que faites-vous avec ça? – skaffman
Récupère la ressource pour le fichier spécifié et l'utilise comme inputtream pour un autre processus. – indira
Je voudrais essayer de revenir en arrière, et supprimer log4j.xml de la bibliothèque. En règle générale, aucune bibliothèque ne doit inclure de configuration de journalisation, c'est la responsabilité du client. (Je suppose que vous possédez KeyManager.jar) – Augusto