【发布时间】:2019-08-02 23:38:35
【问题描述】:
我正在使用OpenJDK 11、IntelijIDEA 2019.2 和javafx-sdk-11.0.2。
在编写 JavaFX 项目时,我尝试从 maven 项目添加外部可运行 jar,但 IntelijIDEA 没有看到该 jar 的类。
我做了什么:
在项目树中我找到了它:
为什么会这样?
【问题讨论】:
我正在使用OpenJDK 11、IntelijIDEA 2019.2 和javafx-sdk-11.0.2。
在编写 JavaFX 项目时,我尝试从 maven 项目添加外部可运行 jar,但 IntelijIDEA 没有看到该 jar 的类。
我做了什么:
在项目树中我找到了它:
为什么会这样?
【问题讨论】:
如果是模块化项目
原因是使用了文件module-info.java。众所周知,JavaFX 11 不再是 JDK 的一部分。所以,我们需要在我们的包的根目录添加这个特殊的文件,比如:
module modulename {
requires javafx.fxml;
requires javafx.controls;
opens package;
}
从这一刻起,您很可能找不到类,直到您在此代码中单独添加您的 jar,例如:
requires name_of_jar;
只有在添加后,您才能使用外部库中的类/方法。
如果是非模块化项目
正如mipa 所说,您可以关注these instructions 作为替代方式。
相关链接:
【讨论】: