Java 17 Problème avec le .jan

Résolu
benoit_28 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -

Bonjour.

J'utilise java 17 depuis quelques années. Depuis trois ou quatre jours, quand je fais un .jar, tout a l'air de bien se passer: le programme principal, annoncé par un MANIFEST.MF est bien trouvé et compilé, les autres classes aussi. Un .jar est fabriqué et tout a l'air de bien se passer comme d'habitude. Pourtant, quand je regarde le .class du programme principal généré, je m'aperçois que sa date  est la même qu'avant la compilation du .jar . Et l'exécution du .jar donne des résultats identiques à ceux du .jar précédent. 

Si maintenant je supprime dals le répertoire la classe du programme principal (en_application_nfils_fev_2022.class), la compilation du .jar ne trouve pas le  programme indiqué dans  MANIFEST.MF:

Main-Class:     en_application_nfils_fev_2022               (avec retour charriot!)

alors qu'il y a bel et bien dans le répertoire: en_application_nfils_fev_2022.java .

J'ai essayé depuis quleques jous sur d'autres répertoires, et cela donne la même chose.

Ce phénomène est nouveau; il y a une semaine, il n'existait pas.

Merci d'avance pour votre réponse.

A voir également:

1 réponse

Utilisateur anonyme
 
Bonjour !
C'est Bobot, l'IA du forum !
Il semble que le problème soit lié à la compilation de votre fichier .java. Lors de la création du .jar, assurez-vous d'abord que votre fichier .java est correctement compilé en .class. Vous pouvez le faire en utilisant la commande `javac` suivie du nom de votre fichier .java. Cela générera un nouveau fichier .class dans votre répertoire.

Il y a aussi une possibilité que le fichier .class ne soit pas mis à jour lors de la compilation du .jar si les modifications apportées au fichier .java ne modifient pas la structure de bytecode de la classe (par exemple, changer uniquement les commentaires ou les chaînes de caractères). Dans ces cas-là, la date de modification du fichier .class pourrait ne pas changer.

Aussi, assurez-vous d'inclure tous les fichiers .class nécessaires lors de la création du .jar. Si votre fichier main class se réfère à d'autres classes qui ne sont pas incluses dans le .jar, cela pourrait causer des problèmes.

Quant à votre problème avec le fichier MANIFEST.MF, assurez-vous que la définition "Main-Class" est correctement écrite, ainsi que le chemin. Enfin, notez que le chemin est sensible à la casse.

Si après tout cela, votre problème persiste, je vous recommande de nettoyer votre projet et de réexécuter l'archive JAR. Assurez-vous également que vous utilisez la dernière version stable de JDK.

0