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

Java Discussion :

Mon jar n'importe pas mes fichiers externes


Sujet :

Java

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Mon jar n'importe pas mes fichiers externes
    Bonjour à tous,
    J'ai un petit problème bien gênant avec mon programme.
    Je travaille sous Netbeans et j'ai mon programme qui s'exécute parfaitement à partir de celui-ci.
    Lorsque je créer mon jar, il ne semble pas trouvé mes fichiers externes.
    Voici la ligne de code où le problème semble apparaitre:

    FileInputStream ConfigurationFile = new FileInputStream("Machine_Configuration.ini");

    Bien évidemment j'ai copié mon fichier Machine_Configuration dans le même répertoire que le jar(répertoire dist\ sous netbeans). Mais il ne semble toujours pas lire le fichier.

    Quelqu'un aurait-il une idée du problème s'il vous plait?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Avec le code que tu donnes, le fichier sera recherché dans le répertoire de travail, qui ne correspond pas forcément au répertoire du jar (cela dépend de la manière dont tu lances l'application).

    a++

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Avec le code que tu donnes, le fichier sera recherché dans le répertoire de travail, qui ne correspond pas forcément au répertoire du jar (cela dépend de la manière dont tu lances l'application).

    a++
    Merci, mais je ne comprends pas ce que tu veux dire par "cela dépend de la manière dont tu lances l'application". Je double clique sur mon jar rien de plus!

    Sinon j'ai copié mes fichiers externes dans mon répertoire jar et dans le repertoire de projet et le problème est le même...

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par emmessi Voir le message
    Merci, mais je ne comprends pas ce que tu veux dire par "cela dépend de la manière dont tu lances l'application". Je double clique sur mon jar rien de plus!
    Lorsque tu lances l'application via une ligne de commande, le répertoire de travail correspond tout simplement au répertoire courant (dans lequel tu tu déplaces avec cd).

    Lorsque tu lances l'application en "double-cliquant" dessus, alors ca dépend de la configuration de l'OS...

    Citation Envoyé par emmessi Voir le message
    Sinon j'ai copié mes fichiers externes dans mon répertoire jar et dans le repertoire de projet et le problème est le même...
    Il faut utiliser un chemin complet et non pas un chemin relatif...


    Sinon c'est quoi comme fichier de configuration ? Ne pourrait-il pas être inclut dans le jar ?

    a++

  5. #5
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Il faut utiliser un chemin complet et non pas un chemin relatif...


    Sinon c'est quoi comme fichier de configuration ? Ne pourrait-il pas être inclut dans le jar ?
    Alors, j'ai essayé le chemin complet et cela ne fonctionne toujours pas.

    Mon fichier de configuration contient des informations de type adresse IP, port, langue, etc...
    C'est en fait une sauvegarde de configuration de l'utilisateur. Il peut être modifié à partir du programme.

    Si c'est possible de l'inclure dans le jar, comment faire stp?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ce qui se fait souvent dans un cas comme ça, c'est que l'application cherche le fichier de configuration de l'utilisateur à un endroit précis, indépendant de là où est installé l'application.
    Dans un style à la Unix, les fichiers de configuration d'un utilisateur sont dans un répertoire nommé ".monapplication" dans le rṕertoire de l'utilisateur (accessible en Java via la propriété système user.home)
    Dans un monde plus Windows, on utilise la base de registre, ce qui est possible de manière limitée en Java via la classe Preferences.

    A toi de voir ce que tu veux faire. La classe Preferences sous systémes non Windows crée une hierarchie de répertoires et fichiers représentant les préférences soit globale au système, soit pour l'utilisateur.

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par emmessi Voir le message
    Alors, j'ai essayé le chemin complet et cela ne fonctionne toujours pas.
    Donc c'est qu'il y a un autre problème : quel est l'exception exacte ?

    Citation Envoyé par emmessi Voir le message
    Si c'est possible de l'inclure dans le jar, comment faire stp?
    Il suffit de le mettre dans un package, et de le charger avec getResource() (il y a plein d'exemple sur le forum).

    Mais si c'est un fichier de configuration utilisateur, autant le mettre dans le répertoire utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File configFile = new File( System.getProperty("user.home"), ".myapplication.properties" );
    a++

  8. #8
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Alors j'ai bien avancé dans mon problème!
    Mon fichier de configuration est lu correctement mais le problème provient en faite de la compilation d'un rapport en pdf.

    Voici le code où çà bloque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JasperDesign jasperDesign = JRXmlLoader.load("DRS_Report_Stats.jrxml");
    Map parameters = new HashMap();
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new net.sf.jasperreports.engine.JREmptyDataSource());
    Le problème semble venir lorsque je fais compile Report à la 3ième ligne.
    Mais je répète, le problème n'apparait que lorsque je lance mon jar et non sous netbeans.

    Le problème doit donc être dans l'importation du jrxml ou un truc comme çà...

    Des idées svp?

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Et donc : quel est le problème ????

    a++

  10. #10
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Et donc : quel est le problème ????
    Mon programme effectue des sauvegardes au format PDF.
    Sous Netbeans tout marche bien.

    Mais à partir du jar, le logiciel ne sauvegarde pas du tout!
    Je pense donc qu'il ne trouve pas mon fichier jrxml mais je ne suis pas sur et ne sais pas comment résoudre le problème.

    L'exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    net.sf.jasperreports.engine.JRException: Error compiling report java source files : C:\Users\Alex\Documents\NetBeansProjects\Weightpack_DRS_v1.0\dist\report32name_1275403190219_837702.java C:\Users\Alex\Documents\NetBeansProjects\Weightpack_DRS_v1.0\dist\report32name_dataset1_1275403190219_837702.java C:\Users\Alex\Documents\NetBeansProjects\Weightpack_DRS_v1.0\dist\report32name_dataset2_1275403190219_837702.java

  11. #11
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Salut,

    Si tu utilises :
    jdt-compiler-version.jar

    il faut egalement l'utiliser quand tu lances le .jar...

    a+

  12. #12
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Salut,

    Si tu utilises :
    jdt-compiler-version.jar

    il faut egalement l'utiliser quand tu lances le .jar...

    a+
    Tu peux être plus explicite s'il te plaît?
    Je pense avoir compris qu'il fallait que je change le nom de mon jar mais çà ne fonctionne toujours pas!

Discussions similaires

  1. Le jar de mon application n'affiche pas mes états
    Par rolls dans le forum NetBeans
    Réponses: 14
    Dernier message: 31/08/2012, 13h27
  2. Pourquoi mon navigateur n'exécute pas les fichiers ASP
    Par Claude_Azoulai dans le forum ASP
    Réponses: 5
    Dernier message: 21/10/2007, 17h25
  3. mon jar ne lit pas les sons wav
    Par poulette3000 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 13/05/2007, 19h56
  4. Réponses: 2
    Dernier message: 09/05/2007, 17h43
  5. Réponses: 10
    Dernier message: 23/03/2006, 20h57

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