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

Tomcat et TomEE Java Discussion :

[Tomcat] Unable to find a javac compiler


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut [Tomcat] Unable to find a javac compiler
    bonjour a tous !

    c'est vrai je confirme le parametrage d'environnement n'est pas mon fort et y'a toujour une coquille qui se place dans l'engrenage...

    Alors voila, je voulais, pour m'initier, faire le tuto de serge tahe sur struts et depuis le second exemple simple ou j'ai intégré dans mon appli "personne" deployé sous tomcat le web.xml, struts-config etc... il ne veux pas lire aucune pages jsp que je lui fournit. Pourtant tomcat a correctement deployé mon appli mais a la lecture de la jsp, il arrive pas a la compiler car il trouve pas le jdk

    message :
    Unable to find a javac compiler;
    com.sun.tools.javac.Main is not on the classpath.
    Perhaps JAVA_HOME does not point to the JDK
    j'ai déja lu une tonne de post dont le plus pertinent me disait qu'il l'avait mis JAVA_HOME en variable user et pas variable systeme, c'etait aussi mon cas, je l'ai mis en variable systeme et rien n'y fait.

    os = W2Kpro, Tomcat = 5, java jdk tiger

    Une idée pour que je puisse avancer et apprendre de mes erreurs

    Wdionysos
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    pour les jsp tomcat genere des classes java (.java) puis les compiles en .class
    mais pour cela il a besoins d'un jdk et non d'un jre
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06

  3. #3
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut jdk
    merci fnobb pour ton aide,

    je confirme j'ai bien un jdk dans java home. (JAVA_HOME = "C:\Java\Tiger\jdk 5.0"). c'est vrai j'un aussi un autre jre sur mon system (pour tout ce qui es hors developpement et les navigateurs) mais il n'y a aucune raison que tomcat pointe par un autre chemin sur celui ci non ?, je pensais que tomcat utilise JAVA_HOME.

    je sens que c'est une connerie mais voila je pige pas ou j'ai gaffé.

    WDio
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  4. #4
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    Citation Envoyé par wdionysos
    merci fnobb pour ton aide,

    je confirme j'ai bien un jdk dans java home. (JAVA_HOME = "C:\Java\Tiger\jdk 5.0"). c'est vrai j'un aussi un autre jre sur mon system (pour tout ce qui es hors developpement et les navigateurs) mais il n'y a aucune raison que tomcat pointe par un autre chemin sur celui ci non ?, je pensais que tomcat utilise JAVA_HOME.

    je sens que c'est une connerie mais voila je pige pas ou j'ai gaffé.

    WDio
    EDIT :
    ce serai encore plus bizarre car tomcat fonctionne correctement et il me semble qu'il est ecrit en java non ?
    /EDIT
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Citation Envoyé par wdionysos
    EDIT :
    ce serai encore plus bizarre car tomcat fonctionne correctement et il me semble qu'il est ecrit en java non ?
    /EDIT
    non car pour fonctionner tomcat a besoin d'un jre mais pour pouvoir compiler les jsp il lui faut plus (et donc un jdk).

    est-ce que dans un fichier de config (bat) il y aurait pas ecrasement de la variable JAVA_HOME ?

  6. #6
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut config.bat ?
    de quel fichier de config.bat tu parles, dans tomcat ?

    je n'ai un tel fichier de configuration dans tomcat, ni dans windows d'ailleurs

    je vois ce à quoi tu penses mais je ne vois pas ou un tel ecrasement pourrait se produire

    question annexe : le JAVA_HOME doit til pointer vers le dossier du JDK ou vers JDK/bin ?

    wdio !
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  7. #7
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Concernant la config de tomcat :
    - Comment lance tu tomcat ? (fichier bat ou exe)

    le JAVA_HOME doit pointer vers JDK

  8. #8
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    ok j'ai compris,

    personnellement j'utilisai le monitor graphique mais il lance le tomcat.exe en fait

    wdio

    j'ai compris ce que tu pensais que en cas de .bat il y aurait une instruction dedans qui reecrase la config systeme de JAVA_HOME.

    ben non , j'utilise windows et l'exe de tomcat

    wdio
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  9. #9
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    bon je crois que j'ai une piste...

    dans le fichier d'erreur stdout.log
    on a :

    4 oct. 2006 16:37:29 org.apache.jasper.compiler.Compiler generateClass
    GRAVE: Env: Compile: javaFileName=/E:/Tomcat/Tomcat 5.0/work/Catalina/localhost/personne//org/apache/jsp/vues\reponse_personne_jsp.java
    classpath=/E:/Tomcat/Tomcat 5.0/webapps/personne/WEB-INF/lib/commons-beanutils.jar;

    ....
    ici il appelle toutes les librairie de struts 1.1 que j'ai placé dans WEB-INF/lib
    ....

    extension dir=C:\Java\Tiger\jre 5.0\lib\ext
    srcDir=E:\Tomcat\Tomcat 5.0\work\Catalina\localhost\personne
    include=org/apache/jsp/vues/reponse_personne_jsp.java
    ...
    et a la fin c'est etrange il récrit pas la bonne url
    ....

    4 oct. 2006 16:37:29 org.apache.jasper.compiler.Compiler generateClass
    GRAVE: Error compiling file: /E:/Tomcat/Tomcat 5.0/work/Catalina/localhost/personne//org/apache/jsp/vues\reponse_personne_jsp.java [javac] Compiling 1 source file
    alors que ca devrait etre :

    E:\Tomcat\Tomcat 5.0\webapps\personne\vues...
    bizarre il m'avait deja fait ce coup (1er exemple du tuto) parce qu'il n'acceptait pas le deplacement du dossier hors de l'arbo de tomcat mais apres comme il n'y avait dedans que des page statique et en reecrivant manuellement le xml de deploiement il l'avait pris mais auparavant pas moyen de deplacer cette appli exemple (personne) à l'exterieur alors je l'ai laisser dans son repertoire par defaut à savoir : E:\Tomcat\Tomcat 5.0\webapps\

    wdio!

    une idée, quelle galere je vais rien fiche d'autre de la journée
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  10. #10
    Membre à l'essai
    Profil pro
    dyiiythj
    Inscrit en
    Octobre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : dyiiythj

    Informations forums :
    Inscription : Octobre 2006
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    Pour compiler un fichier from .java to .class tu es besoin du JDK (java developement kit) et pas le jre.

    apres l'installation du JDK tu entre sous dos et tu ecris ces deux ligne


    set patch=c:\programfiles\java\jdk1.4.0_01\bin

    set classpatch=.;c:\programfiles\java\jdk1.4.0_01\lib\tools.jar

    en changant le chemain en rouge par le chemain d'installation.


    puis tu enregistre ton fichier .java dans le repertoire \bin

    et tu te place dans ce dernier sur dos, puis la commande


    javac Nomdufichier.java

    si ya po de faute, tu trouveras le fichier class dans le meme repertoire \bin.




    jespere que c ce ke tu cherche!

  11. #11
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Et C'est encore mieux en déclarant une variable pour le chemin de base de java...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set JAVA_HOME=c:\programfiles\java\jdk1.4.0_01
    set patch=%JAVA_HOME%\bin
    set classpatch=.;%JAVA_HOME%\lib\tools.jar

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

  12. #12
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    bonsoir et merci de vos aides !

    mais je comprends pas l'intérèt de tel script a executer (en ce concerne le pb cité plus haut) ..

    Je connais la différence entre jdk et jre et je sais comment compiler un fichier avec javac mais le soucis est uniquement que lorsque j'appele un la servlet action struts deployé sous tomcat via un point do mappant une vue jsp, j'ai un message qui me dit

    "unable to find a javac compiler. perhaps JAVA_HOME does not point to a jdk"

    je persiste et signe, un tour dans la definition des variable utilisateur et systeme de windows (par le gui et pas ligne de commande) indique bien la variable JAVA_HOME sur le bon jdk. Tomcat lui a besoin d'une JRE et fonctionne parfaitement, il est up, le monitor tomcat aussi il demarre par le .exe comme un service windows et toute les appli example a base de jsp sont opérationnelle.

    Mais moins dans l'appli que je monte (celle du tuto de serge tahe) ca passe pas, honnetement je crois pas au pb du java home mais je voudrais comprendre ce qui se passe pour avancer.

    en tout cas merci de votre aide

    WDIO
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  13. #13
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    dans le cas ou tu demarres Tomcat a partir d'eclipse par exemple. Verifie qu'eclipse utilise bien ton JDK et non le JRE pour s'executer. Sinon ca peut eventuellement être la raison de ton bug

  14. #14
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    pour vérifier la valeur de JAVA_HOME qu'utilise Tomcat tu peux rajouter dans la classe action:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(System.getenv().get("JAVA_HOME"));

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut RTFM (après quelques recherches)
    Après avoir un peu ramé sur ce problème, la solution la plus simple que j'ai trouvé, une fois positionné le JAVA_HOME et le CLASSPATH, se trouve sur la première page de la doc d'installation de Tomcat pour Windows.
    the lib\tools.jar file from a JDK installation must be copied to the common\lib path of the Tomcat installation.

    Donc : aller dans le JDF/lib, copier le tools.jar et le copier dans tomcat/common/lib

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par MarneusCalgarXP Voir le message
    Et C'est encore mieux en déclarant une variable pour le chemin de base de java...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set JAVA_HOME=c:\programfiles\java\jdk1.4.0_01
    set patch=%JAVA_HOME%\bin
    set classpatch=.;%JAVA_HOME%\lib\tools.jar
    Merci. J'ai créé les variables CLASSPATH (et non patch) et JAVA_HOME et complété PATH (et non patch) et maintenant ça fonctionne (après un reboot quand même, on ne sait jamais).

    Pour information, j'avais le même type d'erreur en développement avec Eclipse.

    Merci!
    ----------------------------------------
    Ghislain B.
    The PHP newbies...............

  17. #17
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    euh oui je m'étais planté sur le nom des variables

    N'oublie pas, clique sur

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

  18. #18
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2004
    Messages : 8
    Points : 9
    Points
    9
    Par défaut vérifier le registre
    je trouvais que copier le fichier tools.jar sous tomcat, n'était pas une solution satisfaisante. En fouillant dans le registre, j'ai trouvé une valeur erronée sur la clé classpath de TOMCAT,

    utilisez regedit
    et allez à

    HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat5\Parameters\Java

    j'ai résolu le problème pour ce tomcat 5.0.28 installé en tant que service.

  19. #19
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut cloture du sujet
    Bonjour,

    Oups !!! Voila un sujet vieillissant que j'ai lancé puis totalement oublié et qui est resté ainsi non résolu jusqu'à ce qu'un administrateur vient de m'avertir aujourd'hui de son déplacement. Je clos dès lors ce sujet.

    Pour archive et pour tous ceux qui passerons par là après les galères de leur première installation tomcat, la réponse se trouve bien entendu dans tool.jar qui n'est de base pas inclu dans une JRE mais bien dans seulement un JDK. si la JRE qu'utilise votre tomcat ne comprends pas ce jar dans son dossier lib, récupérer le et copier le manuellement dans ce dossier lib.

    Attention toute fois aux versions de Java, le mieux est d'aller chercher ce jar dans un JDK de même version que votre JRE, car un tools.jar version 3 dans un JRE tiger 5.0 vous promettra des effets surprenants, ne les risquez pas , rstez rigoureux et cohérent....

    A force de Galère, on fini par traverser les océans .

    [EDIT]
    A Francis Jam, je suis d'accord sur le registre mais cela me parait être une conséquence et non une cause. Si vous êtes passé par des problèmes Tomcat que que vous avez déjà installé et réinstallé puis désinstallé votre serveur Tomcat, plusieurs fois, il est plus prudent de nettoyer le registre Windows à la main (à l'aide d'un éditeur de registre) afin d'être sûr que les problèmes de votre première installation ne persistent pas au sein des suivantes. Windows n'étant pas réellement connu pour se nettoyer proprement. Il reste que la solution du premier problème que je postais il y a un ans déjà est résolu avec tool.jar. Merci à tous les participants.
    [EDIT]
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

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

Discussions similaires

  1. Erreur : Unable to find a javac compiler
    Par fk04 dans le forum ANT
    Réponses: 4
    Dernier message: 05/03/2011, 23h00
  2. Réponses: 4
    Dernier message: 15/09/2010, 16h17
  3. erreur 26 : Unable to find a javac compiler
    Par flyzi dans le forum ANT
    Réponses: 3
    Dernier message: 31/03/2009, 22h59
  4. [Plugin Tomcat]Unable to find a javac compiler
    Par SEMPERE Benjamin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/12/2005, 11h17
  5. [Tomcat]Les fichiers *.class et la compilation
    Par scifire dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/09/2005, 12h31

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