Bonjour,

je souhaite accéder à des fichiers de ressources dans mon application d'abord dans eclipse puis à partir du jar executable

dans eclipse, avec le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
		URL url_base = TestURL.class.getResource("/listecours.xsl");
		System.out.println("url_base  ->" + url_base.getPath());
		File file_base = new File (url_base.getPath());
		System.out.println("chemin de file base" + file_base.getAbsolutePath());
		if (!(file_base.exists()))
			throw new Exception("pas bon");
j'obtiens

pour forcer la recherche dans le jar, avec le code :
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
		URL url = new URL("jar:file:/D:/Users/Gilbert/java/AtelierMyosotis/AtelierMyosotis.jar!/listecours.xsl");
		System.out.println("url 0 ->" + url.getPath());
			URI uri = url.toURI();
			System.out.println("uri path ->" + uri.getPath());
			System.out.println("uri sheme ->" + uri.getSchemeSpecificPart());
			String s = uri.getSchemeSpecificPart();
			String protocol = url.getProtocol();
			File f = new File(uri.getSchemeSpecificPart());
			System.out.println("chemin de f ->" + f.getAbsolutePath());
			if (!(f.exists()))
				throw new Exception("pas bon");
		} catch (URISyntaxException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 
	}
j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
url 0 ->file:/D:/Users/Gilbert/java/AtelierMyosotis/AtelierMyosotis.jar!/listecours.xsl
uri path ->null
uri sheme ->file:/D:/Users/Gilbert/java/AtelierMyosotis/AtelierMyosotis.jar!/listecours.xsl
chemin de f ->D:\Users\Gilbert\java\workspace\AtelierMyosotis\AtelierMyosotisApplication\file:\D:\Users\Gilbert\java\AtelierMyosotis\AtelierMyosotis.jar!\listecours.xsl
java.lang.Exception: pas bon
	at org.atelier.myosotis.application.TestURL.main(TestURL.java:36)
je ne vois pas ou est l'erreur : serait-ce un bug comme je crois l'avoir lu sur internet

pour l'instant je contourne le problème en référençant les fichiers ressources dans le répertoire du projet dans Eclipse avec une variable d’environnement

existe il une autre solution que de changer de jdk


Merci pour vos réponses Cordialement,

Gilbert Pêche
os : windows 10
jdk : 1.6
eclipse : Helios