Java 9 及更高版本中,声明对其他模块的依赖关系

先放图

首先看报错内容

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at Java504/Tuxinghua.njj1.main(njj1.java:17)

这让我一直以为是main里面的问题,检查了几遍一直找不到错误。

通过查阅资料发现

在 Java 9 及更高版本中,如果使用了模块化系统(即,包含 module-info.java 文件的项目),那么需要在模块定义中声明对其他模块的依赖关系。

这是一种确保正确解析依赖关系并提高代码封装性的方式。所以,在这种情况下,需要添加 requires java.desktop 语句。

requires java.desktop 语句表示您的模块(Java504)依赖于 java.desktop 模块。

java.desktop 模块是 Java 标准库的一部分,它包含了很多与图形用户界面(GUI)、图形绘制和图像处理相关的类。在您的代码中,您使用了 java.awt 包,它是 java.desktop 模块的一部分。

通俗地说,通过在 module-info.java 文件中添加 requires java.desktop,您告诉 Java 编译器和运行时环境您的项目需要使用 java.desktop 模块中的类,以便正确地编译和运行您的代码。

module Java504 {
	requires java.desktop;

}

  module-info.java 文件用于定义 Java 9 及更高版本引入的模块化系统的模块配置。在这个文件中,您可以声明模块的名称、依赖关系和其他属性。

But:

如果您的项目不使用 Java 的模块化系统(即,没有 module-info.java 文件),您仍然可以在 Java 9 及更高版本中运行您的代码。在这种情况下,您的项目将被视为未命名模块,它可以访问所有已导出的模块,包括 java.desktop。因此,您不需要显式地添加 requires java.desktop 语句。

请注意,如果您使用的是 Java 8 或更早版本,模块化系统尚不存在,因此您不需要担心模块依赖关系。在这些版本中,只要正确导入所需的包(例如 import java.awt.*),您的代码应该可以正常编译和运行。

通过修改,成功显示出了图形化界面:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值