包 javax.jnlp 在模块 java.jnlp 中声明,它不在模块图中
package javax.jnlp is declared in module java.jnlp, which is not in the module graph
我有一个项目使用了Java webstart 技术。我决定将 Java 版本从 8 升级到 9。但是,我在编译时遇到以下错误:
error: package javax.jnlp is not visible
import javax.jnlp.DownloadServiceListener;
^
(package javax.jnlp is declared in module java.jnlp, which is not in the module graph)
我尝试将 C:\Program Files\Java\jdk-9\lib\javaws.jar
包含到类路径中,但仍然存在同样的问题。
看起来 java.jnlp 默认情况下未解析 class 路径上的代码(很像 Java EE modules)。解决方案是使用 --add-modules java.jnlp
显式添加它(javac
和 java
都接受该参数)。
此选项在 JEP 261: Module System or in this blog post 中讨论。
在 IntelliJ IDEA 中:
将 javaws.jar 添加到 Class 路径(文件 -> 项目结构 -> SDKs ->Class)
C:\程序Files\Java\jdk-版本\lib\javaws.jar
我有一个项目使用了Java webstart 技术。我决定将 Java 版本从 8 升级到 9。但是,我在编译时遇到以下错误:
error: package javax.jnlp is not visible
import javax.jnlp.DownloadServiceListener;
^
(package javax.jnlp is declared in module java.jnlp, which is not in the module graph)
我尝试将 C:\Program Files\Java\jdk-9\lib\javaws.jar
包含到类路径中,但仍然存在同样的问题。
看起来 java.jnlp 默认情况下未解析 class 路径上的代码(很像 Java EE modules)。解决方案是使用 --add-modules java.jnlp
显式添加它(javac
和 java
都接受该参数)。
此选项在 JEP 261: Module System or in this blog post 中讨论。
在 IntelliJ IDEA 中: 将 javaws.jar 添加到 Class 路径(文件 -> 项目结构 -> SDKs ->Class) C:\程序Files\Java\jdk-版本\lib\javaws.jar