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 :

Compilation d'une classe java avec cmd appelant une autre classe


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 42
    Par défaut Compilation d'une classe java avec cmd appelant une autre classe
    Bonjour,
    j'espère trouver ma réponse et arriver à expliquer mon problème donc voilà je crée un service web, pour cela je crée deux classes java, la première qui contient une fonction de recherche (Resto), et la seconde celle qui contient le service web appelée (ServicesRestaurant), d'après un tutoriel que j'ai trouvé il faut copier la classe qui contient le service web dans le fichier WEB-INF d'AXIS et la compiler avec l'invite de commande, et c'est ce que je fais mais ca me donne une erreur de compilation comme quoi la classe de recherche (Resto) n'est pas définie voilà mon code pour bien expliquer:
    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
    package Rest;
     
    import java.sql.SQLException;
    import java.util.LinkedList;
     
     
    public class ServicesRestaurant {
     
    	public LinkedList<Resto> getResto(String Specialite) throws SQLException, ClassNotFoundException{
     
     
    		Resto t= new Resto();
    		LinkedList<Resto> l=  t.recherche_resto(Specialite);
    		return l;
     
    	}
    }
    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
    38
    39
    40
    41
    42
    package Rest;
    import java.sql.*;
    import java.util.LinkedList;
     
     
     
    public class Resto {
     
    	public String nom_resto;
    	public String adresse_resto;
    	public String specialite;
     
    	public Resto(){
    		this.nom_resto="";
    		this.adresse_resto="";
    		this.specialite="";
    	}
    	public LinkedList<Resto> recherche_resto(String specialite) throws SQLException, ClassNotFoundException{
     
    		LinkedList<Resto> l = new LinkedList<Resto>();
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		String url = "jdbc:oracle:thin:@localhost:1521:XE";
    		Connection con = DriverManager.getConnection(url,"System", "Mallorca2010");
    		Statement statement= con.createStatement();
    		String query= "SELECT * FROM Restaurant where specialite='"+specialite+"'";
    		ResultSet resultat = statement.executeQuery(query);
    		while(resultat.next()){
    				Resto t= new Resto();
    				t.adresse_resto= resultat.getString(2);
    				t.nom_resto=resultat.getString(1);
    				t.specialite= resultat.getString(3);
    				l.add(t);
    			//	Resto t1 = (Resto) l.get(0);
    			//	System.out.println(t1.adresse_resto);
    				}
     
     
    		return l;
     
    	}
     
    }
    je lance la commande
    javac ServicesRestaurant.java
    depuis le WEB-INF d'AXIS et voilà l'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
    ServicesRestaurant.java:9: cannot find symbol
    symbol  : class Resto
    location: class ServicesRestaurant
            public LinkedList<Resto> getResto(String Specialite) throws SQLException, ClassNotFoundException{
                              ^
    ServicesRestaurant.java:12: cannot find symbol
    symbol  : class Resto
    location: class ServicesRestaurant
                    Resto t= new Resto();
                    ^
    ServicesRestaurant.java:12: cannot find symbol
    symbol  : class Resto
    location: class ServicesRestaurant
                    Resto t= new Resto();
                                 ^
    ServicesRestaurant.java:13: cannot find symbol
    symbol  : class Resto
    location: class ServicesRestaurant
                    LinkedList<Resto> l=  t.recherche_resto(Specialite);
                               ^
    4 errors
    Merci d'avance de votre aide
    amicalement

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    on ne met pas les sources dans WEB-INF !
    On les met dans une truc genre "src", on compile dans "src" ou "bin" et on copie ensuite dans WEB-INF.
    MAs tu utilises quoi comme éditeur ? N'utilises tu pas Eclipse par exemple et Ant ou Maven ?
    Avec Eclipse tu n'as pas à compiler, cela se fait au moment de l'enregistrement du source

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    avant de commencer à faire des webapplication, des webservice et autre, il serait peut etre judicieux de commencer par apprendre les base (notion de classpath, compilation, outils, ide, etc). On ne se lance pas dans les webapp et le J2EE sans d'abord avoir une bonne maitrise de java.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 42
    Par défaut
    merci de votre aide, mais lorsque je veux compiler je donne le chemin ou se trouve ma classe donc il n'y aura de problème de compilation a mon avis

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par y_chafaqi Voir le message
    je donne le chemin ou se trouve ma classe donc il n'y aura de problème de compilation a mon avis
    Déjà ça aurait du être "Rest/ServicesRestaurant.java" et non pas "ServicesRestaurant.java" dans ta ligne de commande.

  6. #6
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Lorsqu'on compile en ligne de commande, il faut préciser tous les éléments utile au compilateur :

    • Le classpath, où il ira chercher les classes déjà compilé.
    • Le sourcepath, où il ira chercher le codes sources des classes qui n'ont pas déjà été compilé.
    • Le répertoire de sortie, où il stockera les classes générées par la compilation.
    • L'encodage des fichiers


    http://java.sun.com/javase/6/docs/te...ris/javac.html

    a++

  7. #7
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Mais arrête avec cette fichue ligne de commande.
    Utilises un éditeur comme Eclipse ou bien un script Ant.
    Pourquoi n'utilises tu pas "d'outils" pour ta compilation, tu dois probablement être un des rares sur la planète à faire ça !? ......enfin je crois

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ego, ca fait pas de mal d'apprendre à utiliser la ligne de commande, même si en pratique on l'utilise que pour les exercices

  9. #9
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    ego, ca fait pas de mal d'apprendre à utiliser la ligne de commande, même si en pratique on l'utilise que pour les exercices
    oh tu sais je suis "d'origine Unix" et la ligne de commande je connais mais l'efficacité c'est mieux quand même et là, le monsieur il a un problème..alors ok pour apprendre mais des fois.....

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je parle pas d'efficacité mais d'apprentissage? Avec çà tu comprend la notion de classpath, l'intéret de pas mettre n'importe nawak comme nom de classe, les messages d'erreur du compilateur et les options de compilation. Notions qui manquent cruellement sur les IDE

  11. #11
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    sur ces points ok
    il pourrait quand même avantageusement utiliser ANT par exemple. Il apprendra aussi et cela sera quand même plus mieux

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/08/2009, 13h09
  2. "Décharger" une classe java avec un ClassLoader Custo
    Par GLSpirit dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2009, 11h34
  3. compiler une classe java avec javac
    Par crespoo dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 20/04/2009, 18h32
  4. Créer une classe .java avec un code java
    Par demcoul dans le forum Langage
    Réponses: 10
    Dernier message: 03/01/2008, 00h06

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