【问题标题】:java application not working with java9 and eclipsejava应用程序不能与java9和eclipse一起使用
【发布时间】:2018-03-26 06:49:51
【问题描述】:

我正在尝试按照以下步骤创建 Java9 的 HelloWorld 模块。

  1. 文件>新建>Java 项目

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

  3. 右键源文件夹(即com.hello)>新建>包>输入名称(与源文件夹名称相同,即com.hello)
  4. 右键Source Folder(即com.hello)>New>File>输入文件名(模块的java9标准文件名是module-info.java)

    module com.hello {
            exports com.hello;
    }
    
  5. 右键Package(即com.hello)>New>输入类名(即HelloWorld)

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

右键HelloWorld>Run As>Java Application它会抛出

启动层初始化时出错

java.lang.module.FindException:找不到模块 com.hello

我的项目目录结构

PS:尝试this solution后,我的项目结构如下所示

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

构建期间发生错误。 在项目“com.hello”上运行构建器“Java Builder”时出错。 未知常量池类型 19

【问题讨论】:

  • com.hello 不是 Eclipse IDE 的有效项目名称
  • 你能分享你的项目目录结构吗?将项目名称指定为com.hello 似乎也不正确。
  • @nullpointer。我已经编辑了我的问题。添加目录结构图片。
  • @SamDev,已尝试将名称从 com.hello 更改为 hello,但问题仍然存在。
  • @SamDev com.hello 作为项目名称没有任何问题。

标签: java eclipse java-9 eclipse-oxygen java-module


【解决方案1】:

假设您使用 2017 年 10 月 11 日发布的 Eclipse Oxygen.1a (4.7.1a) Release 来支持 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 在您的结构中可见),您可能需要关注 @ 的答案987654322@.

【讨论】:

  • 我已遵循您提出的解决方案。问题依然存在。
  • 我想提供更多关于这个问题的背景信息。我在关注 [journaldev.com/13630/javase9-helloworld-module-ides-part4]。我的 eclipse-oxygen 没有显示复选框 Create module-info.java(9 or higher)
  • @shekharyadav108 确保您使用的是 Eclipse 的 Oxygen.1a 版本。更新了答案中的链接。
  • 这是我的日食详细信息。面向 Web 开发人员的 Eclipse Java EE IDE。版本:Oxygen.1a 版本 (4.7.1a) 内部版本号:20170928-1841
  • @shekharyadav108 复选框 Create module-info.java 已被删除(截至 2017-06-14)以支持新命令 Configure > Create module -info.java(右键单击项目)。显然,您遵循的教程已过时。
【解决方案2】:

请检查@nullpointer 答案。我想再补充一些东西。我可以看到,您已经创建了maven 项目。并且您在artifact id 列中输入了包名称。

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

group name : com.hello
artifact-id: your_project_name

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

【讨论】:

  • 它是 maven 项目。检查 Eclipse 项目名称上是否有这个小 m 图标。
  • @nullpointer,之前我已经创建了 java 项目。后来改成了maven项目。来回尝试使其工作。
  • @shekharyadav108 是的,但在这两种情况下,解决方案都应该将包移动到 src 文件夹,因为我已经建议 in the answer,因为 Maven 也遵循相同的结构。
猜你喜欢
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多