包javax.jnlp在模块java.jnlp中声明,它不在模块图中

我有一个使用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 (很像Java EE模块 )。 解决方案是使用--add-modules java.jnlp显式添加它( javacjava接受该参数)。

JEP 261:模块系统或此博客文章中讨论了此选项。

在IntelliJ IDEA中:将javaws.jar添加到类路径(文件 – >项目结构 – > SDKs – >类)C:\ Program Files \ Java \ jdk- version \ lib \ javaws.jar