包“javax.sound.midi”在模块中声明

Package 'javax.sound.midi' is declared in module

提问人:digitalway 提问时间:6/23/2023 更新时间:6/30/2023 访问量:60

问:

当我在 IntelliJ 的 Java 应用程序中添加它时

import javax.sound.midi.*;

我收到此错误 “包'javax.sound.midi'在模块'java.desktop'中声明,但模块'com.example.music'不读取它”

我在网上读到javax.sound是OpenJDK 20的一部分...

你知道为什么我收到这个错误吗

艾德

java intellij-idea javasound

评论

0赞 Phil Freihofner 6/24/2023
您的项目是否使用模块信息.java文件?如果是这样,你能展示它的内容吗?
0赞 digitalway 6/25/2023
我在模块信息.java模块com.example.music {需要javafx.controls;需要javafx.fxml;将com.example.music打开到javafx.fxml;导出com.example.music; }
1赞 Phil Freihofner 6/26/2023
我认为您需要在module-info文件中包含对java.desktop的引用。不过,我不确定确切的形式/语法。也许添加“requires java.desktop;”这一行很简单?我必须摆弄才能确定。
0赞 digitalway 6/28/2023
你是对@PhilFreihofner我在 module-info 中添加的.java它有效!谢谢requires java.desktop;
0赞 Phil Freihofner 6/30/2023
我将发布一个答案,或者如果您愿意,可以发布自己的答案。最主要的是指定一个答案,这样其他人就不会认为这个问题仍然需要解决。

答:

1赞 Phil Freihofner 6/30/2023 #1

(在回答问题后发布。

有时会出现这样的错误消息,因为文件中未列出所需的模块。module-info.java

根据 OP,将以下行添加到:module-info.java

requires java.desktop;

解决了这个问题。