IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

récupération d'information dans src/main/resources


Sujet :

Maven Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Points : 52
    Points
    52
    Par défaut récupération d'information dans src/main/resources
    Bonjour

    je me retrouve devant un problème bizarre...
    dans un projet maven je possède un fichier test.test à la racine du répertoire src/main/resources

    dans une classe dans le répertoire src/main/java, je souhaite récupérer des informations dans ce fichier dont voici 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
     
     
    		File file = new File("/test.test");
    		FileInputStream is;
    		try {
    			is = new FileInputStream(file);
    			InputStreamReader isr = new InputStreamReader(is);
     
    			BufferedReader br = new BufferedReader(isr);
    			try {
    				System.out.println("Hello  " +br.readLine()+" ! ");
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		} catch (FileNotFoundException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    Lorsque je lance la commande :

    et que j'exécute mon programme de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -cp target/hello-0.0.1-SNAPSHOT.jar com.maven.spring.hello.Main
    j'ai cette Exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    java.io.FileNotFoundException: /test.test (No such file or directory)
    	at java.io.FileInputStream.open(Native Method)
    	at java.io.FileInputStream.<init>(FileInputStream.java:106)
    	at com.maven.spring.hello.Hello.hello(Hello.java:23)
    	at com.maven.spring.hello.Main.main(Main.java:10)
    et lorsque j'exécute je code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    		InputStreamReader isr = new InputStreamReader(getClass().getResourceAsStream("/test.test"));
    		BufferedReader br = new BufferedReader(isr);
    		try {
    			System.out.println("Hello  " +br.readLine()+" ! ");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    J'ai mon petit HelloWorld qui marche parfaitement ...
    J'avoue ne pas tout comprendre
    Si quelqu'un à une idée ça serait très sympa
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 111
    Points : 118
    Points
    118
    Par défaut
    Peut -être qu'en rajoutant "/main" au chemin "/test.test" ça marchera mieux
    Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km...

    Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Points : 52
    Points
    52
    Par défaut
    merci pour la réponse mais normalement non, dans cette situation je ne devrait pas mettre le chemin tout entier car mon fichier ressource (test.test) est à la racine du répertoire src/main/resources et donc au packaging (mvn package) dans le .jar à la racine ...

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Le comportement de l'application est normal !
    En effet, le fichier test.test se trouve à l'intérieur du JAR créé par Maven. Pour accéder à cette ressource depuis le code Java, il te faut donc aller chercher la ressource dans le Classpath, et non comme un fichier système "normal".

    Donc l'utilisation de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaClasse.class.getResourceAsStream("/test.test");
    est correct.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Points : 52
    Points
    52
    Par défaut
    ahhh ok ...
    Merci bcp

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Pense au :resolu si le problème est résolu !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fichier i18n dans src/main/resources ?
    Par ieuthm dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2010, 23h42
  2. Réponses: 4
    Dernier message: 03/04/2008, 13h06
  3. [XSLT]Récupération d'information dans un fichier XML
    Par LoDev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/01/2008, 09h36
  4. Récupération d'informations dans un état
    Par Psychose dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/06/2006, 16h37
  5. [C# express 2005] Récupération d'information dans une BDD
    Par poussinphp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/05/2006, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo