java - 发生此错误时 Error :(1, 1) java.desktop 和 java.datatransfer 中的 java : module JavaFX reads package java. awt

标签 java javafx javafx-11 module-info

项目名称-JavaFX
模块信息.java

module JavaFX {
requires javafx.fxml;
requires javafx.controls;
requires java.desktop;
opens sample;

}

Controller .java
package sample;

import javafx.fxml.FXML;

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class Controller {

    @FXML
    public void handleClick(){
        try{
            Desktop.getDesktop().browse(new URI("http://www.javafx.com"));
        } catch (URISyntaxException | IOException e) {
            e.printStackTrace();
        }
    }

}

我得到的错误:错误:(1, 1) java: 模块 JavaFX 从 java.desktop 和 java.datatransfer 读取包 java.awt
如何解决这个问题?

最佳答案

刚刚有同样的问题。根据 This IDEA Support Thread它可能有点像红鲱鱼错误消息。看起来模块文件实际上是正确的(即使 intellij 带你到那里),但问题实际上是因为 IDEA 添加了一个编译器参数,其中包含我们所做的所有 alt-enter(我们都这样做......)。

如果导航到设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器并朝底部看,您将看到它已添加和 --exports of awt from datatransfer to the module,如下图所示:

Idea settings box

简单地删除它并且 awt 只能从桌面读取。

我明白这个问题并不是对正在发生的事情的最深入的解释,所以如果有人想详细说明它会很高兴。

关于java - 发生此错误时 Error :(1, 1) java.desktop 和 java.datatransfer 中的 java : module JavaFX reads package java. awt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62307840/

相关文章:

java - 安装在 Windows 中的字体未显示在 SceneBuilder 中

java - 从 Rest API Java 下载 ODS/XLS

java - 卡住了设置 Room 以与 RxJava 一起使用 : access to database may potentially lock the UI

java - 无法在 JavaFX 中移动矩形?

binding - 我可以在 JavaFX 中创建弱绑定(bind)吗?

java - JavaFX dtjava.js 的未最小化源代码?

JavaFX 11 : IllegalAccessError when creating Label

JavaFX Gradle Jlink-插件 : jpackageImage fails because of "[1.0-SNAPSHOT] contains invalid component [0-SNAPSHOT]"

java - Java 中 Objective C 的 longLongvalue?

java - Eclipse:类路径引用的存档不存在