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 avec javac en console


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Amateur de programmation
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur de programmation

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut Problème avec javac en console
    Avant tout, je tiens à préciser que c'est mon premier message sur un forum, donc je n'y connais strictement rien en forum

    Bonjour, cela fait depuis hier que j'ai un problème avec java. J'ai passé quand même pas mal de temps à faire des recherches, jusqu'à même essayer d'installer une autre version de JDK, mais même ca, j'y arrive pas .

    Alors, après avoir écris mon fichier MainApp.java sur VS code, je suis aller sur le cmd :

    (j'ai bien changé de répertoire, mon fichier n'a aucune faute de frappe et javac est bien en variable d'environnement et fonctionne correctement.)

    J'ai écris javac MainApp.java,

    mon fichier MainApp.class s'est créé, alors j'ai écris : java MainApp

    Voici ce que me rend le cmd :


    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread "main" java.lang.UnsupportedClassVersionError: MainApp has b
    een compiled by a more recent version of the Java Runtime (class file version 56
    .0), this version of the Java Runtime only recognizes class file versions up to
    52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)


    J'ai le JDK 12.0.1 installé dans C:\Program Files\Java\jdk-12.0.1

    Ainsi que le JRE 8 installé dans : C:\Program Files\Java\jre1.8.0_201 et C:\Program Files (x86)\Java\jre1.8.0_201

    J'utilise Windows 7 64bits

    Je pense que le problème vient de la différence de version entre le JDK et le JRE, mais je n'arrive pas à installer d'autres versions, comment je fais ?

    Merci d'avance à la/les personne(s) qui va/vont répondre

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Amateur de programmation
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur de programmation

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut Ah, aussi ...
    Je tiens encore à préciser qu'il n'y a pas de JRE pour le JDK 12 et que j'ai pas l'impression qu'il se soit installé en même temps que le JDK 12.

    J'ai fais des recherches là dessus aussi et c'est censé être "normal", mais du coup, comment on fait ?

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    curieuse façon de penser.

    Le problème est manifestement que tu compiles avec une version, la 12, et que tu essaies d'exécuter, avec une autre version, la 8.

    Il semble donc qu'il y ait un conflit de versions dû au fait d'en avoir plus d'une. Et logiquement pour corriger il ne faudrait rien installer du tout. Il faudrait désinstaller la version que tu ne veux pas. Probablement la 8 puisque c'est une JRE sans outil de développement.

    Une autre approche, plus compliquée, serait d'essayer de comprendre pourquoi quand tu compiles, c'est une version, et quand tu essaies d'exécuter, c'est une autre version. Et de réconcilier tout ça.
    Ça a probablement à voir avec la variable %Path% de ton système d'exploitation, et au fait qu'une JRE ne fournit pas autant de commandes qu'un JDK.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Amateur de programmation
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur de programmation

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut problème encore présent :(
    Merci pour ta réponse


    Alors, avant tout,j'ai supprimé le JRE 8 et j'ai enlevé cette section qui se trouvais au tout début de la variable path avant de redémarrer mon ordinateur :
    C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;

    voici désormais son contenu :
    %SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;%SYSTEMROOT%\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM FILES (X86)\COMMON FILES\ROXIO SHARED\10.0\DLLSHARED\;C:\PROGRAM FILES (X86)\COMMON FILES\ROXIO SHARED\DLLSHARED\;C:\SWTOOLS\READYAPPS;C:\PROGRAM FILES\CONDUSIV TECHNOLOGIES\EXPRESSCACHE\;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X64;C:\PROGRAM FILES (X86)\INTEL\SERVICES\IPT\;C:\PROGRAM FILES (X86)\LENOVO\ACCESS CONNECTIONS\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Common Files\Lenovo;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin;C:\WINDOWS\System32;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;%SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;%SYSTEMROOT%\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM FILES (X86)\COMMON FILES\ROXIO SHARED\10.0\DLLSHARED\;C:\PROGRAM FILES (X86)\COMMON FILES\ROXIO SHARED\DLLSHARED\;C:\SWTOOLS\READYAPPS;C:\PROGRAM FILES\CONDUSIV TECHNOLOGIES\EXPRESSCACHE\;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X64;C:\PROGRAM FILES (X86)\INTEL\SERVICES\IPT\;C:\PROGRAM FILES (X86)\LENOVO\ACCESS CONNECTIONS\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Common Files\Lenovo;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin;C:\Program Files\Java\jdk-12.0.1\bin;C:\Program Files\Java\jdk-12.0.1\bin\java.exe;

    (Ah, je me rendais pas compte à quel point c'est long, en fait sur windows 7 c'est sur une seule ligne ^^' Mais je pense que c'est quand même utile ?)

    Après avoir relu la variable path, j'ai vu qu'il y avait encore une "copie" de ce que j'ai supprimé(je l'ai mise en gras). En fait, par rapport à ce que tu disais, c'est ca que je dois(re)supprimer, où j'ai fais une erreur en le supprimant ? :
    C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;

    Sinon, j'ai réessayé la compilation, ca marche, et l'exécution qui, comme dans le cas precédant, ne fonctionne pas, mais ce n'est pas la même erreur :

    Error: could not open `C:\Program Files\Java\jre1.8.0_201\lib\amd64\jvm.cfg'

    Mais, il s'entête à exécuter avec le JRE 8 ! Décidément !

    J'ai bien vérifié, il y a bien un java.exe dans : C:\Program Files\Java\jdk-12.0.1\bin

    J'ai d'ailleurs essayé ca :

    Citation Envoyé par Conversation passionnante entre moi et l'invite de commande CMD
    cd C:\Program Files\Java\jdk-12.0.1\bin
    java (ca m'a affiché pleins d'info sur java)
    java C:\Users\ACTIF\Desktop\VSCodeProjects\ProjetsJava\MainApp.class

    et j'obtiens cette erreur :

    Error: Could not find or load main class C:\Users\ACTIF\Desktop\VSCodeProjects\P
    rojetsJava\MainApp.class
    Caused by: java.lang.ClassNotFoundException: C:\Users\ACTIF\Desktop\VSCodeProjec
    ts\ProjetsJava\MainApp.class
    Pourtant, ca me paraissait logique que ca marche, mais bon ...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Amateur de programmation
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur de programmation

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut Ca fonctionne, merci beaucoup :)
    Et bien, finalement j'ai réinstallé le JDK 12 et supprimé tous ce qui contenait java et que je jugeait inutile dans la variable path (sauf bien sûr la partie qui faisait référence à JDK 12)

    Merci beaucoup :)

    Sujet résolu.

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 20/10/2011, 12h41
  2. problème avec javac -classpath
    Par crespoo dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/04/2009, 20h16
  3. Probléme avec javac
    Par Micke7 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 28/10/2008, 16h56
  4. Problème avec la JMX console (configuration MBean)
    Par FredKéKé dans le forum Spring
    Réponses: 8
    Dernier message: 16/01/2007, 12h04
  5. problèmes avec javac
    Par hammag dans le forum Langage
    Réponses: 8
    Dernier message: 15/10/2006, 16h00

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