发生此错误时,错误:(1,1)java:modulejavafx从java.desktop和java.datatransfer读取包java.awt

发生此错误时,错误:(1,1)java:modulejavafx从java.desktop和java.datatransfer读取包java.awt,java,javafx,javafx-11,module-info,Java,Javafx,Javafx 11,Module Info,项目名称JavaFX module-info.java } Controller.java 错误:错误:(1,1)java:modulejavafx从java.desktop和java.datatransfer读取包java.awt 如何解决这个问题?也有同样的问题。据他说,这可能有点像是一条转移视线的错误信息。看起来模块文件实际上是正确的(即使intellij将您带到那里),但问题实际上是因为IDEA添加了一个编译器参数,其中包含了我们所做的所有alt-enter(我们都这么做…) 如果您导

项目名称JavaFX

module-info.java

}
Controller.java

错误:错误:(1,1)java:modulejavafx从java.desktop和java.datatransfer读取包java.awt

如何解决这个问题?

也有同样的问题。据他说,这可能有点像是一条转移视线的错误信息。看起来模块文件实际上是正确的(即使intellij将您带到那里),但问题实际上是因为IDEA添加了一个编译器参数,其中包含了我们所做的所有alt-enter(我们都这么做…)

如果您导航到设置->构建、执行、部署->编译器->Java编译器,并查看底部,您将看到its已将awt从datatransfer添加和导出到模块,如下图所示:

简单删除此选项,awt仅从桌面读取


我知道这个问题并不是对正在发生的事情的最深入的解释,所以如果有人想详细说明,我们将不胜感激。

谢谢您的帮助!这就解决了问题,但为什么会发生这种情况呢?没问题,我认为这只是在intellij中输入一点红色,特别是导入时可能发生的事情之一。
module JavaFX {
requires javafx.fxml;
requires javafx.controls;
requires java.desktop;
opens sample;
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();
        }
    }

}