2017-10-14 8 views
4

J'essaye de créer un module HelloWorld de Java9 les étapes suivantes ont été données ci-dessous.l'application java ne fonctionne pas avec java9 et eclipse

  1. Fichier> Nouveau> Projet Java Project com.hello project description

  2. Faites un clic droit (c.-à-com.hello)> Nouveau> Dossier source> entrez le nom du dossier source (.e. com .Bonjour)

  3. clic droit Source dossier (c.-à-com.hello)> Nouveau> package> entrez le nom (comme le nom du dossier source-à-dire com.hello)
  4. Clic droit Dossier source (c.-à-d. com.hello)> Nouveau> Fichier> entrez le nom du fichier (java9 nom de fichier standard pour le module qui est module-info.java)

    module com.hello { 
         exports com.hello; 
    } 
    
  5. Clic droit Package (c.-à-com.hello)> Nouveau> entrer nom de la classe (c.-à-HelloWorld)

    package com.hello; 
    
    public class HelloWorld { 
    
         public static void main(String[] args) { 
           System.out.println("Hello World"); 
         } 
    
    } 
    

Faites un clic droit sur HelloWorld> Exécuter en tant que> Java application Il lance

Une erreur est survenue lors de l'initialisation de la couche d'amorçage

java.lang.module.FindException: Module com.hello pas trouvé

Ma structure de répertoire du projet project directory image

PS: après avoir essayé this solution ma structure de projet ressemble à ci-dessous

solution project structure

Avis: J'ai remarqué une chose de plus. Après avoir sauvegardé les changements. éclipse (oxygène) jette

Des erreurs sont survenues lors de la génération. Erreurs lors de l'exécution du générateur 'Java Builder' sur le projet 'com.hello'. Type inconnu de constant_pool 19

+0

** com.hello ** n'est pas un nom de projet valide pour Eclipse IDE –

+0

Pourriez-vous partager la structure de votre répertoire de projet. Semble incorrect de spécifier également le nom du projet comme 'com.hello'. – nullpointer

+0

@nullpointer. J'ai édité ma question. ajouté l'image de la structure de répertoire. – shekharyadav108

Répondre

2

En supposant que vous utilisez Eclipse Oxygen.1a (4.7.1a) Release publié le 11 Octobre, 2017 pour soutenir JPMS et Junit5 vous pouvez adapter à ce qui suit -

Pendant que vous créez un nouveau projet Java, vous devez vous assurer que votre paquet com.hello et module-info.java se trouvent dans le dossier src du projet.Vous pouvez les déplacer dans votre projet de suivre l'arbre complet qui doit ressembler à: -

com.hello[project] 
| 
|-src 
| | 
| |-- com.hello[package] 
| | | 
| | |- HelloWorld.java [your class] 
| | 
| |--module-info.java 

Remarque: - Si vous essayez de créer un projet basé sur Maven (pom.xml visible dans votre structure), vous pourriez vouloir suivre les réponses à Maven in Eclipse: step by step installation.

+0

J'ai suivi votre solution proposée. le problème persiste toujours. – shekharyadav108

+0

Je voudrais donner un peu plus de contexte à la question. Je suivais [https://www.journaldev.com/13630/javase9-helloworld-module-ides-part4]. Mon _eclipse-oxygen_ n'affiche pas la case ** Créer module-info.java (9 ou plus) ** – shekharyadav108

+0

@ shekharyadav108 Assurez-vous que vous utilisez la version Oxygen.1a d'Eclipse. Lien mis à jour dans la réponse. – nullpointer

0

Veuillez vérifier la réponse de @nullpointer. Je voudrais ajouter quelques autres choses. Ce que je peux voir, c'est que vous avez créé le projet maven. Et vous avez entré le nom du paquet dans la colonne artifact id.

S'il vous plaît changer l'ID du groupe et le nom du projet selon vos besoins,

group name : com.hello 
artifact-id: your_project_name 

S'il vous plaît passer par ce lien une fois Create a maven project in eclipse

+0

c'est un projet maven. Vérifiez qu'il y a cette petite icône "m" sur un nom de projet eclipse. – piechuckerr

+0

@nullpointer, précédemment j'ai créé le projet java. plus tard changé en projet maven. essayer d'aller et venir pour le faire fonctionner. – shekharyadav108

+0

@ shekharyadav108 Ya mais dans les deux cas la solution devrait être de déplacer le paquet vers le dossier src comme je l'ai déjà suggéré [dans la réponse] (https://stackoverflow.com/a/46741738/1746118), puisque Maven suit également la même structure . – nullpointer