Java:无法从未命名的模块中读取包?

在将一个项目转移到Gradle时,我停止使用我的自定义构建的org.json,它有一个模块-info.java,以符合模块系统。现在,我通常通过Maven使用它,因为默认情况下org.json不是一个模块,所以它被放入未命名的模块中。

我的module-info如下所示:

open module mymodule {
    requires java.desktop;
    requires java.logging;
}

我得到了一个错误:

SomeSourceFile.java: error: package org.json is not visible
import org.json.*;
          ^
  (package org.json is declared in the unnamed module, but module mymodule does not read it)

这是合乎逻辑的,除非我不知道为什么我的模块不读取未命名模块(未命名模块的目的是与非模块化软件完全向后兼容,以便导出所有包等),以及如何让我的模块读取未命名模块。正如您所看到的,我已经尝试使我的模块打开,但没有用。

转载请注明出处:http://www.jixiangdc.com/article/20230526/1159861.html