web-dev-qa-db-fra.com

Une erreur s'est produite lors de l'initialisation de la couche d'amorçage FindException: module introuvable.

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?

1
D. Pante

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.

4
Rahat Rajdev

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>
1
tretegfdg