Java应用程序不能与java9和eclipse一起工作

Java应用程序不能与java9和eclipse一起工作

问题描述:

我想创建一个Java9的HelloWorld模块,其步骤如下。Java应用程序不能与java9和eclipse一起工作

  1. 文件>新建> Java项目 com.hello project description

  2. 右键单击项目(即com.hello)>新建>源文件夹>输入源文件夹名称(.E。COM .hello

  3. 右击源文件夹(即com.hello)>新建>包>输入名称(与源文件夹的名称即com.hello)
  4. 右键单击源文件夹(即, com.hello)>新建>文件>输入文件名(用于模块java9标准的文件名是module-info.java)

    module com.hello { 
         exports com.hello; 
    } 
    
  5. 右键点击包(即com.hello)>新建>进入类名(即的HelloWorld)

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

右键单击的HelloWorld>运行方式> Java应用程序,则抛出

模块com.hello没有找到

我的项目目录结构 project directory image

PS:想this solution开机后层的初始化

java.lang.module.FindException期间发生

错误我的项目结构如下所示

solution project structure

注意:我注意到了一件事。保存更改后。日食(氧气)抛出

构建过程中发生错误。 在项目'com.hello'上运行构建器'Java Builder'的错误。 未知的常量池式19

+0

** ** com.hello是不是一个有效的项目名称为Eclipse IDE – 2017-10-14 06:43:38

+0

你能分享你的项目目录结构吗?似乎也不正确,以将项目名称指定为'com.hello'。 – nullpointer

+0

@nullpointer。我编辑了我的问题。添加目录结构图像。 – shekharyadav108

假设,您正在使用Eclipse Oxygen.1a (4.7.1a) Release于2017年10月11日,发布了支持JPMS和Junit5可以适应以下 -

当您创建新的Java项目,您需要确保您的com.hello程序包和module-info.java位于项目的src文件夹下。您可以在您的项目移动它们遵循完整的树应是这样的: -

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

: - 如果你正试图在你的结构来创建基于Maven的项目(pom.xml可见),您可能想要按照Maven in Eclipse: step by step installation的答案。

+0

我遵循了您提出的解决方案。该问题仍然存在。 – shekharyadav108

+0

我想给出更多的问题背景。我正在关注[https://www.journaldev.com/13630/javase9-helloworld-module-ides-part4]。我的_eclipse-oxygen_没有显示复选框** Create module-info.java(9或更高版本)** – shekharyadav108

+0

@ shekharyadav108请确保您使用的是Eclipse的Oxygen.1a版本。答案中的更新链接。 – nullpointer

请检查@nullpointer答案。我想添加更多的东西。我能看到的是,你已经创建了maven项目。并且您在artifact id列中输入了包名称。

请更改组ID和项目名称根据自己的需要,

group name : com.hello 
artifact-id: your_project_name 

请通过此链接,一旦Create a maven project in eclipse

+0

这是maven项目。检查eclipse项目名称上是否有这个小'm'图标。 – piechuckerr

+0

@nullpointer,以前我已经创建了java项目。后来改成了Maven项目。来回试着让它工作。 – shekharyadav108

+0

@ shekharyadav108雅,但在这两种情况下,解决方案应该将包移动到src文件夹中,因为我已经在[答案](https://*.com/a/46741738/1746118)中建议,因为Maven也遵循相同的结构。 – nullpointer