如何配置语言服务器以支持JavaFX(Neovim+coc-java环境)
问题:coc-java无法识别JavaFX模块,提示模块不可访问
使用Neovim + coc.nvim + coc-java进行Java开发,此前一切正常,开发JavaFX项目时遇到以下问题:
- 代码可正常运行,但编辑器中所有JavaFX相关导入语句均提示错误:
The type javafx.package.Module is not accessible (Java 16778666) - 已配置
coc-settings.json如下:
{ "java.home": "/home/yayel4289/.jdks/jdk-20.0.2", "java.jdt.ls.vmargs": "-Xmx1G -XX:+UseG1GC --module-path=/usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml,javafx.base,javafx.graphics,javafx.media", "java.project.referencedLibraries": [ "/usr/share/openjfx/lib/*.jar" ], "java.trace.server": "verbose", }
- 示例代码:
package my.project.package; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage stage) throws IOException { FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("welcome.fxml")); Scene scene = new Scene(fxmlLoader.load(), 1000, 1000); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(); } }
解决方案
移除build.gradle文件中版本为1.8.12的'org.javamodularity.moduleplugin'插件后,coc-java恢复正常。
内容的提问来源于stack exchange,提问作者Yaël Wawrzyniak
相关产品推荐
相关产品推荐

