Bonjour tout le monde,

J'ai un petit souci sur mon application JAVA.
J'utilise un fichier "messages.xml" pour afficher les différents messages de l'appli,
au début le fichier "messages.xml" été sur l'emplacement suivant "src/main/resources" et ça marche sans problème, après j'ai déplacé le fichier sous "messages/message.xml" au meme niveau que le dernier emplacement et c'est là ou j'ai trouvé le problème !!!

Erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
java.lang.ExceptionInInitializerError
Caused by: java.lang.IllegalArgumentException: InputStream cannot be null
	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:120)
	at com.activpremium.tools.Messages.getString(Messages.java:44)
Le code que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
//	private static String MESSAGES = "message.xml";
        private static String MESSAGES = "messages/message.xml";
 
	// La méthode permet à récupérer la valeur d'un mot clé définit sur le
	// fichier des messages passé en paramétre
	public static String getString(String key) {
		ClassLoader cl = Thread.currentThread().getContextClassLoader();
 
		InputStream is = cl.getResourceAsStream(messageLangue);
		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder dBuilder;
		Document doc = null;
		try {
			dBuilder = dbFactory.newDocumentBuilder();
			doc = dBuilder.parse(is);
			doc.getDocumentElement().normalize();
			NodeList nList = doc.getElementsByTagName("msg");
			for (int temp = 0; temp < nList.getLength(); temp++) {
				Node nNode = nList.item(temp);
				if (nNode.getNodeType() == Node.ELEMENT_NODE) {
					Element eElement = (Element) nNode;
					// Appel à la méthode qui récupére la valeur d'un mot clé
					return getTagValue(key, eElement);
				}
			}
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return key;
	}
j'ai raté quelque chose ???
merci d'avance...