J'ai écrit le plugin maven qui utilise l'injection de dépendance de contexte de ressort.Spring: Demande les propriétés de chargement dans le projet de plugin maven mais utilise le fichier du projet dans lequel le plugin est utilisé
À un certain moment, le ressort doit initialiser l'un des beans avec le fichier de propriétés. Dans les tests tout fonctionne bien. Mais lorsque le plugin est construit et utilisé dans un projet différent dans le cadre du processus de construction, FileNotFoundException est lancé.
Lors de l'impression des entrées en cours de classpath en utilisant:
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){
System.out.println("CLASSPATH: " + url.getFile());
}
seule chose que je reçois est:
CLASSPATH: /path/to/mavendir/boot/plexus-classworlds-2.5.2.jar
Et normalement propriétés sont chargées par le code suivant:
Resource resource = springContext.getResource("classpath:/myPluginConfig.properties");
Properties properties = PropertiesLoaderUtils.loadProperties(resource);
Mais fichier n'est pas trouvé.
Je l'ai placé le fichier correctement nommé "de myPluginConfig.properties" dans /src/main/resources/ dans le projet qui utilisent mon plugin.
Lors de la phase des ressources de processus, le fichier est copié dans le répertoire target/classes (j'ai vérifié son existence). Donc le fichier est là mais le classpath est en quelque sorte cassé. Mon plugin n'est installé que localement comme image instantanée, donc je peux le mettre à jour rapidement et le réinstaller.
Quelqu'un peut-il m'aider s'il vous plaît à résoudre ce problème?
Salut. Merci pour la réponse rapide. Malheureusement, il ne fonctionne pas dans mon cas :-(D'autres possibilités? – termil0r
s'il vous plaît donnez-moi la capture d'écran de votre pot utilisé dans le projet comme un plugin – amose