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 :

[Compilateur]Problème de compilation des sources...


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut [Compilateur]Problème de compilation des sources...
    Bonjour à tous,

    J'ai téléchargé le JDK 1.5.0 sur le site de sun(pour linux), et j'avais un certain nombre de problème à la compilation (avec javac): les caractères accentués à l'intérieur des commentaires généraient des erreurs, et des erreurs (a priori) inexistantes étaient détectées dans le code.

    J'ai téléchargé sur developpez.com la source du "JTree explorateur de fichiers":
    http://java.developpez.com/sources/?...#JTreeExplorer

    zip ici.

    Je compile et j'obtiens une erreur dans FileTreeModel.java (l.14). Après épluchage du net avec l'aide précieuse d'un codeur java sur le chan #programmation de viendez.net, nous n'arrivons pas à débugger la source.

    Pour voir, j'ai testé la compilation sous windows (dont j'étais sur qu'elle marchait bien, puisque j'avais déjà codé quelques programmes dessus), et il m'a détecté une erreur toujours à la ligne 14...

    Dans la foulée, vu que mon compilateur sous linux semblait un peu détraqué (notamment avec les accents), j'ai remplacé le JDK 1.5 de sun par le JDK 1.4.2 de BlackDown.

    Voici la partie du code qui génère une erreur à la compilation:


    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
     
    01: public List getFichiers(Object parent){
    02:		File fileParent = (File)parent;
    03:		File[] fichiers = fileParent.listFiles();
    04: 		Arrays.sort(fichiers,new Comparator<File>(){
    05: 			public int compare(File f1,File f2){
    06: 				boolean dirf1 = f1.isDirectory();
    07: 				boolean dirf2 = f2.isDirectory();
    08: 				if(dirf1&&!dirf2){return -1;}
    09: 				if(!dirf1&&dirf2){return 1;}
    10:				return f1.getPath().compareTo(f2.getPath());
    11:			}	
    12:		});
    13:		return	Arrays.asList(fichiers);
    14:	}
    l'erreur concerne la ligne 4 ( "Arrays.sort(..." ), et elle indique:
    '(' expected
    Pourtant je ne vois pas où est-ce qu'il peut manquer une parenthèse (je débute en programmation)

    à noter que javac enchaîne avec
    embrouillé par les erreurs précédentes, abandon
    et abandonne la compilation (impossible donc de savoir s'il y a d'autres erreurs)

    Le reste du code semble bon, mais fait appel plusieurs fois à cette méthode (getFichiers()), donc forcément quand je la met en commentaire pour "sauter" la partie mauvaise du code, javac couine pour dire qu'il ne la connais pas (aux 3 endroits où elle est appelée).

    De deux choses l'une:
    -je ne vois pas où est l'erreur
    -la source offerte par developpez semble mauvaise (en tout cas je n'ai pas pu la compiler ni avec JDK 1.4.1 sous win(JDK de sun), ni avec le JDK 1.5.0 de sun, ni avec le JDK 1.4.2 de blackdown, sous nux)

    Est-ce que des gens bien informés pourraient m'éclairer sur ce problème?

    Merci beaucoup,

    Dimanche

  2. #2
    duj
    duj est déconnecté
    Membre chevronné

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Par défaut
    Salut,

    le code que tu montres contient une syntaxe typique de java 1.5 , par exemple:


    Il est donc clair que ca ne peut compiler qu'avec le jdk1.5. Maintenant, je ne sais pas pourquoi tu n'y arrive pas avec le compilo de SUN. Tu es bien certain d'utiliser une version 1.5 ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut
    J'en mettrais pas ma main à couper, mais le répertoire que j'ai supprimé quand j'ai voulu installer un autre JDK était jdk-1.5.0-bla bla
    J'ai sans doute magouillé :/

    Merci bcp pour l'info (c'est vrai c'est souvent con les problèmes)

    Dimanche

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut
    Alors, j'ai supprimé le repertoire j2sdk1.4.2 de /usr/local et j'ai quand je fais

    yum list jdk
    il me dit que le jdk 1.5.0 est installé sur ma bécane. (yum est l'outil d'installation des paquetages sous linux Fedora Core, il permet de recehrcher des nouveaux paquetages, de les upgrader, de les supprimer, de lister ceux disponibles et ceux installés, etc...).

    Effectivement javac fonctionne, mais quand je compile il me sort toujours l'erreur " '(' expected " à la ligne Arrays.sort( et compagnie.

    Peut être que je me suis mal débrouillé dans mes manipulations et que le jdk 1.4 est toujours installé, et que c'est le javac du 1.4 qui s'execute quand je lance la commande javac.
    Je vais essayer de tout supprimer ce qui à rapport au jdk puis réinstaller uniquement le 1.5.

    Je vous tiens au courant.

    cordialement,

    Dimanche

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut
    Suite et fin des évènements:
    En fait quand je tapais "javac", il allais chercher le javac qui était dans un autre répertoire (/usr/bin) et qui renvoyait vers gcj (autre compilateur java), idem pour java.
    Donc j'ai supprimé ces 2 fichiers, et j'ai mis en variable d'environnement le chemin vers le répertoire du jdk qui contient les binaires (notamment javac et java).

    Maintenant quand je tapes javac, il va les chercher au bon endroit, c'est à dire dans le repertoire du jdk 1.5, et ça marche parfaitement!

    Merci à toi!

    Dimanche

  6. #6
    Membre éprouvé
    Avatar de Tifauv'
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 102
    Par défaut
    Tu peux vérifier quelle version est utilisée avec .

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 29
    Par défaut
    tu as supprimé gcj dans user/bin et un autre?tu dis pas le quel (tu parles de supprsseion de deux fichiers?)
    merci de m'eclairer

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

Discussions similaires

  1. Soucis lors de la compilation des source Qcad avec mac os x 10.4
    Par Ethnolius dans le forum Développement OS X
    Réponses: 2
    Dernier message: 20/05/2007, 10h57
  2. Compiler des sources KjAPI sous Code::Blocks
    Par ThomasCh dans le forum Code::Blocks
    Réponses: 18
    Dernier message: 17/11/2006, 22h30
  3. [Kylix] Compiler des sources Delphi pour Linux
    Par Tchief dans le forum EDI
    Réponses: 4
    Dernier message: 09/10/2006, 19h32
  4. Besoin d'aide pour compiler des sources
    Par Fabouney dans le forum C
    Réponses: 9
    Dernier message: 26/07/2006, 00h02
  5. Compilation des sources svn avec monodevelop
    Par gege2061 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 28/03/2006, 16h29

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