L'exécution d'un programme simple Hello World à l'aide de Java 9 génère le message d'erreur suivant:
Error occurred during initialization of boot layer Java.lang.module.FindException: Module com.pantech.myModule not found
La ligne de commande que j'ai exécutée était:
Java --module-path bin -m com.pantech.myModule/com.pantech.myModule.HelloWorld
Cette ligne de commande est exécutée à partir du répertoire parent de mon répertoire bin contenant tous les fichiers de bytecode .class.
Le fichier module-info.class
se trouve dans le répertoire com.pantech.myModule
qui se trouve dans le répertoire bin. Le fichier HelloWorld.class
contient la méthode principale et se trouve dans le répertoire package du répertoire com.pantech.myModule. Par conséquent, le chemin du fichier HelloWorld.class estbin\com.pantech.myModule\com\pantech\myModule\HelloWorld.class.
La classe HelloWorld est dans le package com.pantech.myModule
(nom du package identique au nom du module).
J'utilise Windows 10 comme système d'exploitation. De tout ce que j'ai lu, la ligne de commande ci-dessus devrait être correcte. Des suggestions sur la façon de résoudre ce problème?
La raison derrière cela est qu'entre-temps, en créant votre propre classe, vous aviez également accepté de créer une classe par défaut comme prescrit par votre IDE et après avoir écrit votre code dans votre propre classe, vous obtenez une telle erreur. Pour le supprimer, allez dans le dossier PROJECT -> dossier src -> Le paquetage par défaut ne conserve qu'une classe (dans laquelle vous avez écrit du code) et supprimez-en une autre.
Après cela, lancez votre programme et il fonctionnera certainement sans erreur.
Vous dites que votre module-info.Java contient
module myModule {}
Cela signifie qu’il déclare un module appelé myModule
, not com.pantech.myModule
. En pointant ceci depuis le format de la commande: -
-m <module-name>/<main-class>