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

Entrée/Sortie Java Discussion :

Fichier introuvable dans un jar


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut Fichier introuvable dans un jar
    Bonjour,

    J'utilise dans mon application un fichier de propriété (jbb.properties). Je n'ai aucun soucis pour le loader tant que je ne package pas mon application en .jar

    J'ai tout essayé (au pif bien sur, pourquoi gagner du temps ?) mais impossible de mettre la main dessus.

    Voici le build.xml :

    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
     
    <target name="buildJar" depends="compile" description="Building archive">
    		<echo>Building archive...</echo>
    		<delete file="${dist}/${project.name}.jar" />
    		<jar destfile="${dist}/${project.name}.jar">
    			<fileset dir="${build}">
    				<include name="**/*.class" />
    			</fileset>
    			<fileset dir="${conf}">
    				<include name="META-INF/app.properties" />
    			</fileset>
    			<fileset dir="">
    				<include name="jbb.properties" />
    			</fileset>
    		</jar>
    	</target>
    Et le code qui le charge :

    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
     
    package utils;
     
    public class PropertyUtil {
     
      private final static String propertyFileName = "jbb.properties";
     
      private static Properties properties = new Properties();
     
      static{
    		try{
    			FileInputStream in = new FileInputStream(propertyFileName);
    			properties.load(in);
    			in.close();
    		}catch (FileNotFoundException ex){
    			log.log(Level.SEVERE, "The file " + propertyFileName + " was not found. Exiting application.");
    		}catch (IOException ex){
    			log.log(Level.SEVERE, "The application was not able to read  the file " + propertyFileName + ". Exiting application.");
    		}
    	}
     
    }
    L'arborescence obtenue dans mon jar est :

    ./META-INF (répertoire)
    ./utils (package du loader)
    ./jbb.properties (fichier de propriétés)

    Je vous ai fait grâce des autres fichiers et classes qui n'ont rien à voir.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu dois charger ton fichier via l'InputStream donné par java.lang.Class#getResourceAsStream
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut
    Merci beaucoup, cela fonctionne à présent.

    Mon bloc d'initialisation statique est devenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    static{
    		try{
    			InputStream inputStream = PropertyUtil.class.getResourceAsStream(propertyFileName);
    			properties.load(inputStream);
    			inputStream.close();
    		}catch (FileNotFoundException ex){
    			log.log(Level.SEVERE, "The file " + propertyFileName + " was not found. Exiting application.");
    		}catch (IOException ex){
    			log.log(Level.SEVERE, "The application was not able to read  the file " + propertyFileName + ". Exiting application.");
    		}
    	}

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

Discussions similaires

  1. Fichier introuvable dans un JAR
    Par t-student dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/09/2010, 16h35
  2. Fichier introuvable dans un .jar
    Par mattyeux dans le forum Langage
    Réponses: 13
    Dernier message: 01/02/2007, 15h38
  3. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  4. [JAR]Fichier manifest dans un jar
    Par nicoo dans le forum Général Java
    Réponses: 2
    Dernier message: 10/03/2005, 08h51
  5. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16

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