Partage
  • Partager sur Facebook
  • Partager sur Twitter

Impossible d'exécuter un projet compilé

Problème de version du jre sur la machine

    26 juillet 2021 à 9:59:10

    Bonjour, je suis une débutante en java et je me débats depuis quelques jours avec un projet.

    Je suis en stage et ma principale mission est de corriger d'anciens programmes fait par un employé qui est parti depuis longtemps. Je dois travailler entre plusieurs versions de NetBeans et Java pour avancer.

    Je viens de terminer un projet et je l'ai compilé dans un .jar. Le projet est normalement compilé en java 8 (propriétés du projet). Sur la machine que j'utilise j'ai java 8, 10 et 14. Le path est paramétré avec la version 10.

    Lorsque j'essaie d'exécuter le programme j'obtiens l'erreur :

    Erreur: LinkageError lors du chargement de la classe principale MaClasse.Main

    java.lang.UnsupportedClassVersionError : MaClasse/Main has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 54.0

    J'ai fait beaucoup de recherche sur les forums et j'ai bien compris que l'invite de commande exécutait les programmes avec java 10 alors qu'il détectait mon programme en java 14. 

    Après plusieurs tests à changer les versions entre le path, le projet etc je n'arrive toujours pas à règler ce problème.

    Merci d'avance à tous ceux qui essaieront de m'aider

    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2021 à 12:08:07

      Déjà, avoir plusieurs version du JDK non LTS(long term support) n'est pas une bonne idée, exit donc les 10 et 14.

      Sur quelle version de java tournera l'application en production?, c'est ça qui est important, si c'est 8, compile en 8, si c'est plus que 10, installe le 11 et compile avec (LTS).

      Il n'est pas nécessaire non plus de jongler entre différentes version d'un IDE, tu peux importer le projet dans une version unique.

      • Partager sur Facebook
      • Partager sur Twitter
        2 août 2021 à 11:54:53

        Merci pour votre réponse.

        Je me doute qu'avoir plusieurs versions de JDK n'est pas une bonne idée mais j'ai déjà testé en enlevant certains JDK et ça ne fonctionne pas. 

        Vous me conseillez de tout faire en Java 11?

        Je jongle entre plusieurs outils car c'est ceux que j'ai trouvé sur l'ordinateur que l'on m'a fourni. Certains projets peuvent être ouverts dans une version et pas les autres.

        • Partager sur Facebook
        • Partager sur Twitter
          2 août 2021 à 14:26:42

          Je te conseille de tout faire dans la version qui correspond avec l'environnement où tournera l'application, de préférence avec une version LTS (pour éviter les version qui changent tous les 6 mois).

          En enlevant un JDK, évidemment que ça ne fonctionnera plus, si le projet est configuré pour être construit avec celui là, il faut modifier la config de tes projets pour qu'ils utilisent la bonne version de java (donc 8, 11 ou bientôt 17).

          Les différents outils ne sont que des... outils, interchangeables, et un projet n'est qu'une configuration pour être utilisée par un outil, ce qui compte, c'est le code source, et lui il fonctionne avec tout, tu dois donc recréer de nouveaux projets, avec un outil unique, à partir des différents code sources que tu as.

          • Partager sur Facebook
          • Partager sur Twitter

          Impossible d'exécuter un projet compilé

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown