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

Langage Java Discussion :

problème d'utilisation java -jar


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut problème d'utilisation java -jar
    Bonjour à tous,

    Je suis moyen en java. j'utilise la sdk 1.5. lorsque je lance mon appli
    par une autre appli java avec la commande "java -jar monappli2.jar", il
    arrive quand même à l'ouvrir, mais lorsque je me connecte avec la base
    il ne fait rien, ça ne marche pas.
    Alors que lorsque je lance mon appli directement sur monappli2.jar, il marche
    nickel. la connexion aussi.
    Qu'est-ce qui n'est pas normal? Est-ce que quelqu'un a déjà rencotré ce problème?
    Moi je pense que c'est un problème de linkage sur la librairie de connexion.
    Est-ce que vous êtes de même avis que moi?
    Si oui, comment remédier à c eproblème?

    je le fait comme suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process proc = Runtime.getRuntime().exec("java -jar c:\\appli\\monappli2.jar");
    merçi à tous

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il faut rajouter le Class-Path au fichier manifest.mf pour le driver de la base de données.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    C'est déjà fait. la preuve il marche quand je clique directement sur l'application.
    Je pense que le répertoire de démarrage n'est pas position lorsque je lance l'appli. mais bon comment le positionner avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process proc = Runtime.getRuntime().exec("java -jar c:\\appli\\monappli2.jar");
    ???

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Que contient le jar monappli2.jar ?
    (structure)

    Peux-tu montrer le manifest ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Manifest-Version: 1.0
    Class-Path: libs\javacsv.jar libs\itext-1.3.jar libs\jdc.jar
    Created-By: arpp
    Main-Class: appli.Accueil

  6. #6
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    J'ai trouvé le problème mais je ne sais pas comment le résoudre.
    Le problème ne vient pas de la connexion mais il vient d'un fichier qu'il ne trouve pas.
    Lorsque je lance l'application dans le répertoire de l'application il pointe sur le bon repertoire ex : c:\program files\appli\
    mais lorsque je le lance à l'exterieur par exemple sur un console avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\user1>java -jar c:\program files\appli\appli.jar
    il pointe sur C:\Documents and Settings\user1
    Donc normal qu'il ne trouve pas les fichiers partant de la racine de l'application.
    Je l'ai testé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    repcourant = (new File(".")).getAbsolutePath();
    et repcourant = (new File(".")).getCanonicalPath();
    Ces deux instructions donnent C:\Documents and Settings\user1

    Par contre lorsque je le lance à partir d'une icone, il le trouve.
    parceque dans une icone : on spécifie le chemin de l'application et le répertoire de travail.

    mais comment spécifier dans ce cas le répertoire de travail?

  7. #7
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    C'est quoi comme type de fichier?

    Parce que au cas où, tu pourras mettre ce fichier dans ton jar, dans un répertoire spécifié dans le classpath, comme ça tu pointe dessus via un code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File tonfichier = new File(getClass().getClassLoader().getResource("chemin du fichier dans le jar").getFile());

    Et ainsi, ton jar pourra être placé n'importe où, le fichier sera quand même trouvé.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Points : 199
    Points
    199
    Par défaut
    J'ai le même problème, par un accès réseau :
    J'ai un jar monAppli.jar, situé sur un serveur. En lançant directement le jar (soit "d:\APPLI\monjar.jar", ou "\\SERVEUR\APPLI\monjar.jar), celà fonctionne.
    Mais j'essai de faire un jar de lancement (pour mise à jour). Ce jar, situé dans le même repertoire, termine par un "java -jar monjar.jar", mais ça ne marche plus. C'est comme si le jar lancé l'était dans un répertoire différent (sur la machine qui exécute le jar, et ne trouve donc plus un fichier "APPLI\init.txt").

    J'ai fais plusieurs tests, mais rien de concluant pour le moment. Je ne sais pas si celà s'applique à ton cas, mais pour informations, j'ai testé :
    - Création d'un lecteur réseau pointant directement dans le repertoire
    - Tests sur la commande (création d'un fichier batch intermédiaire, changement du chemin de l'application, ...)
    - Lancement d'un raccourci plutôt que le jar

    Il faudrait que j'essaie (si c'est possible) de changer le répertoire d'où la commande s'exécute, mais je ne sais pas comment faire. Dans ton cas, ce serait :
    Lorsque je lance l'application dans le répertoire de l'application il pointe sur le bon repertoire ex : c:\program files\appli\
    mais lorsque je le lance à l'exterieur par exemple sur un console avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\user1>java -jar c:\program files\appli\appli.jar
    il pointe sur C:\Documents and Settings\user1
    en trouvant un moyen pour que la "variable d'exécution" soit "c:\program files\appli\" et non "C:\Documents and Settings\user1" d'où est lancé la commande "java -jar".
    Suis-je clair ?
    Pensez au tag quand votre problème est réglé !

  9. #9
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Je ne sais pas si JohnNc a trouvé de son côté mais moi j'ai créer un .bat et je le lance avec.
    le seul soucis c'est que le console dos s'affiche dans la barre de menu. mais bon!

    si qlq trouve une solution pour cacher ce console je suis prenneur.
    Je met tjrs mon code ici si qlq rencotre ce problème.

    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
    String file = strRepertoire + "\\execute.bat";
    File eexe = new File(file);
    FileWriter fw = new FileWriter(eexe);
     
    try{
        fw.write(strDriver + "\n");
        fw.write("cd \\\n");
        fw.write("java -jar " + strDriver + "\\appli.jar\n");
        fw.write("exit\n");
        fw.close();
     
    }catch(IOException e){
     
    }
     
    proc = r.exec("cmd.exe /c start /MIN C:\\\"Program Files\"\\projet\\execute.bat");
    r.exit(0);
     
    try {
    	Thread.sleep(100);
    } catch (InterruptedException e1) {
            e1.printStackTrace();
    }
     
    eexe.deleteOnExit();

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/09/2009, 16h27
  2. Problème pour utiliser java.awt.Dimension
    Par sider dans le forum Débuter
    Réponses: 6
    Dernier message: 12/08/2009, 23h49
  3. problème d'utilisation java.awt.Robot
    Par perluce dans le forum AWT/Swing
    Réponses: 14
    Dernier message: 01/08/2007, 22h55
  4. Problème d'utilisation de jar interne après un export
    Par MonsieurHelmut dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/04/2007, 19h03
  5. SqlException quand j utilise Java -jar
    Par parou dans le forum NetBeans
    Réponses: 1
    Dernier message: 03/10/2006, 12h01

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