Bonjour,
Je me suis depuis peu sous maven et j'essaie de déployer une application. J'utilise pour cela un assembly pour composer mon zip livrable dont voici l'arborescence:
Le pom est configuré de sorte à générer un manifest dont voici le contenu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 resources --- application --- *.mdl --- configTresos --- *.mdl --- config.xml --- log4j.properties lib --- *.jar appli.jar
Dans ma classe main, je configure mon logger de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: Hsmr Class-Path: resources/ lib/toolbox-1.0.0.jar lib/jep-2.24.jar lib/jdom -1.1.jar lib/jxl-2.6.3.jar lib/log4j-1.2.14.jar Created-By: Apache Maven 3.2.3 Build-Jdk: 1.8.0_25 Main-Class: com.valeo.devsrv.main.Main
Un coup de mvn install me génère bien mon zip comme voulu. Mais quand je lance le jar dans une console j'ai le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static void main(String[] args) { //configure le logger PropertyConfigurator.configure(Main.class.getResource("/log4j.properties").getFile()); ...
La ligne incriminée correspond bien à la ligne où je configure mon logger. Je comprends que l'appel à getResource n'arrive pas à trouver le fichier log4j.properties. Le pourquoi je n'arrive pas à me l'expliquer et ce malgré mes recherches sur le net. Le répertoire resources contenant le *.properties est bien renseigné dans le class-path du manifest généré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Exception in thread "main" java.lang.NullPointerException at com.valeo.devsrv.main.Main.main(Main.java:26)
Merci pour votre aide.
Cdt
Partager