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 :

Erreur d'exécution sous DOS.


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    80
    Points
    41
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 41
    Par défaut Erreur d'exécution sous DOS.
    Bonjour,

    Tout d'abord, je sais que le forum est rempli de thread sur le sujet dont je vais vous parler, mais je pense que s'il y a autant de sujets crées c'est en partie parce que ces erreurs de chemins d'accès sont quasi typiques à chaque systèmes.

    Voilà pourquoi j'ouvre un thread qui concerne presque uniquement mon cas :S. Désolé.

    Cependant, j'ai une appli java, client/serveur. Qui tourne bien sous Jcreator, mais faudrait qu'elle passe aussi en lignes de commande. Du coup, quand je l'exécute en ligne de commande, logique, sinon c'est pas drôle, ça plante. Jer vais vous expliquer ça en détail juste après.

    Tout d'abord, il faut savoir que j'ai créé un package pour mon application. Pour l'exécuter en DOS je tape:
    java DatabaseListing/Client2
    Les commandes "java" et "javac" sont bien reconnues par le système. J'utilise les drivers de connexion Oracle "ojdbc14.jar"

    Voici l'erreur que j'obtiens:
    Error: java.net.SocketException: Software caused connection abort: recv failed
    Alors que dans Jcreator cette appli ne me donne pas cette erreur, elle fonctionne même bien.

    Voici le code qui génère cette erreur:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    package DatabaseListing; 
    import java.io.*;
    import java.net.*;
    import java.util.*;
     
    public class Client2 
    {
    	public static void main(String[] args) 
    	{
    		try 
    		{
    			BufferedReader entreeClavier = new BufferedReader(new InputStreamReader(System.in));
    			Socket connexion = new Socket("127.0.0.1", 9000);
    			PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
    			BufferedReader entreeDepuisServeur = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
    			String envoi=" ";
    			boolean continu = true;
    			envoi = entreeClavier.readLine();
    			String reponseDuServeur;
    			System.out.println("Connexion Okay...");
    			do 
    			{
    				sortie.println(envoi);
    				reponseDuServeur = entreeDepuisServeur.readLine();
    				System.out.println(reponseDuServeur);
    			}
    			while(reponseDuServeur.isEmpty()==false);
    			connexion.close();
    		}
    		catch(IOException e) 
    		{ 
    			System.out.println("Erreur : "+e);
    		}
    		System.out.println("Connexion closed...");
    	}
    }
    Et donc là-dedans il ne semble pas vouloir effectuer ce bout de code-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    do 
    			{
    				sortie.println(envoi);
    				reponseDuServeur = entreeDepuisServeur.readLine();
    				System.out.println(reponseDuServeur);
    			}
    			while(reponseDuServeur.isEmpty()==false);
    Car dans l'invite de commande il m'affiche bien:
    Connexion Okay...
    Voici les valeurs que j'ai pour les CLASSPATH et PATH
    PATH: C:\Program Files\Java\jdk1.6.0_03\bin;D:\Data\Java\Socket Version\DatabaseListing
    CLASSPATH: .;C:\Program Files\QuickTime\QTSystem\QTJava.zip;D:\Setups\Oracle_JDBC_Driver;C:\Program Files\Java\jdk1.6.0_03\bin;D:\Data\Java\Socket Version\DatabaseListing

    Bon, voilà.

    Quelqu'un sait pourquoi il me génère cette erreur uniquement en DOS et pas avec un IDE ?

    D'avance merci.
    Ouranos21


    EDIT: Le soucis viens du chargement des drivers de connexion JDBC qui passent vraiment pas en DOS. Du coup c'est pour ça qu'avec l'IDE ça marche...

    Cependant je suis toujours pas sauvé, parce que ça fait bien 2h que je cherche LA commande qui me permettra de spécifier de lancer l'application avec ces foutus drivers de connexion Oracle...

  2. #2
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Points
    437
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Par défaut
    le driver est un .jar non, essaye d'executer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -cp chemin_vers_le_driver

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    80
    Points
    41
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 41
    Par défaut
    C'était un problème de classpath :/

    Merci du coup de main ^^

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

Discussions similaires

  1. Exécution sous DOS depuis applet
    Par teetee75 dans le forum Applets
    Réponses: 0
    Dernier message: 12/02/2014, 23h56
  2. Erreur d'exécution sous Mac OS X
    Par Inazo dans le forum Qt Creator
    Réponses: 0
    Dernier message: 31/12/2010, 12h57
  3. Erreur d'exécution sous Vista
    Par ELO_GG dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2008, 18h06
  4. [XP][DELPHI7] Erreur d'exécution sous EDI
    Par Papino dans le forum EDI
    Réponses: 2
    Dernier message: 23/05/2008, 10h36
  5. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 18h25

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