当前位置: 首页 > 知识库问答 >
问题:

用IntelliJ和Visual Studio代码开发JavaFX 11

殳智志
2023-03-14

我正在设置一个基于Java /JavaFX11的Maven项目,它应该可以在IntelliJ和Visual Studio Code中编辑。

我的JDK是11.0.3(Windows x64)从https://adoptopenjdk.net/.

这个球。xml

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>11.0.2</version>
</dependency>

我的app可以用IntelliJ中的“compiler:compile”和“exec:java”编译运行。所以第一步成功了。

现在在Visual Studio中打开同一个项目时,编译和运行不成功,会出现很多类似的错误消息

The package javafx.scene.chart is accessible from more than one module: <unnamed>, javafx.controls

我添加了一个设置。json文件指向正确的JDK目录。

 {
    "java.dependency.packagePresentation": "hierarchical",
    "java.home": "C:/Program Files/Java/jdk-11.0.3+7",
    "java.configuration.updateBuildConfiguration": "automatic"
 }

但VSC似乎仍然在两个JavaFX版本上存在问题,或者没有使用正确的JDK。在“Java Dependencies”视图中,我可以看到从“JRE System Library”和“Maven”到JavaFX的引用。有没有办法将它们从 JRE 视图中排除?

JavaFX参考如何在VSC显示的屏幕截图:

共有1个答案

梅庆
2023-03-14

根据最近发布的截图,看起来你使用的是包含JavaFX的JDK 11。

虽然大多数JDK发行版不包括JavaFX(OpenJDK、Oracle、AdoptOpenJDK等),但一些供应商正在将JavaFX与JDK捆绑在一起,例如Libica。

如果您查看 Liberica 的 JDK 11.0.2 发行说明:

Windows x86_64、Mac、Linux x86_4和Linux ARMv7发行版包含OpenJFX 11.0.2。

虽然此选项简化了 JavaFX 的使用(无需将其添加到模块路径中,因为它已经是模块路径的一部分),但如果使用 Maven 或 Gradle 构建工具并包含 JavaFX 依赖项,或者如果您安装了其他 JDK 而没有它,则可能会令人困惑。

所以解决方法很简单:要么不使用JavaFX而使用JDK,并通过Maven/Gradle依赖项提供它,要么将JDK与JavaFX一起使用,但不包括它们。

我想后者是更好的选择,如果你需要导出/共享你的项目,因为其他人可能没有相同的设置。此外,它使JavaFX的新版本更加灵活。

另外,请注意,您可以按照自定义 JDK JavaFX 映像部分中的说明生成自己的捆绑 JavaFX https://openjfx.io/openjfx-docs/#modular JDK。

 类似资料:
  • 开发和提交代码 安装环境 推荐在 Linux(如 Ubuntu 14.04+)或 MacOS 环境中开发代码,并安装如下工具。 git:用来获取代码。 golang 1.6+:安装成功后需要配置 $GOPATH 等环境变量。 Docker 1.12+:用来支持容器环境,注意 MacOS 下要用 Docker for Mac。 获取代码 首先注册 Linux foundation ID,并登陆 ht

  • 在具体编码过程中,我需要一系列提高生产力的功能:批量开/关注释、快速输入代码模板、代码智能补全、路径智能补全、从接口生成实现、查看参考库信息等等,我们逐一来实现。 5.1 快速开关注释 需要注释时,到每行代码前输入 //,取消注释时再删除 //,这种方式不是现代人的行为。IDE 应该支持对选中文本块批量(每行)添加注释符号,反之,可批量取消。本来 vim 通过宏方式可以支持该功能,但每次注释时要自

  • 对于 C++ 和 Python,我们遵循 Chromium 的编码规范。你可以使用 来检验文件是否符合要求。 C++ 代码中用到了许多 Chromium 中的接口和数据类型,所以希望你能熟悉它们。Chromium 中的重要接口和数据结构就是一篇不错的入门文档,里面提到了一些特殊类型、域内类型(退出作用域时自动释放内存)、日志机制,等等。 文件名使用 - 而不是 _ 来连接单词,比如 而不是 fil

  • 我想缩进VisualStudio代码中的特定代码段。 我读了如何在Visual Studio Code中格式化代码?这提供了缩进整个代码的快捷方式,但在选择特定代码部分时不起作用。 在我的代码中选择了一些行后,我尝试了CtrlShiftF,但是整个文件是缩进的。我在Windows上使用Visual Studio Code Insider 1.8.0。我怎么能做到呢?

  • 例如,在node.js源文件的顶部: …或未使用的局部变量等。

  • 我遵循以下指示https://code.visualstudio.com/docs/setup/mac但我没有成功。这就是我进去时发生的事情 我得到了以下信息: 我还查找了以下问题:如何在OSX上从命令行打开Visual Studio代码?,这没用。 我在VSCode中只有一个终端选项,zsh。