首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助将Java 9的代码重构为Java 8或Java 11

需要帮助将Java 9的代码重构为Java 8或Java 11
EN

Stack Overflow用户
提问于 2018-10-25 17:15:02
回答 1查看 305关注 0票数 0

好吧,这是我的问题。我使用Java 9编写了一些代码,它在使用JRE10.0.2时编译和运行非常完美。这段代码有一个用JavaFX编写的图形用户界面,允许用户使用这个代码的变体:https://docs.oracle.com/javase/tutorial/essential/io/notification.html来选择要监视的目录。

我计划在一个研究项目中使用这段代码,在这个项目中,我在其他人的机器上运行这段代码--他们可能拥有或可能没有管理权限,可以自己安装JRE。这意味着我应该使用受支持的JRE版本,这样它就不会让我感到悲伤--这基本上意味着Java 8或Java 11。

问题:我的代码不适用于两种版本的。这给我留下了以下的场景:(1)重构我的代码以兼容Java 8,或者(2)重构我的代码以兼容Java 11。

我粗略地尝试将我的语言从9改为8,但我得到了以下错误:

代码语言:javascript
复制
java: package javafx.animation does not exist
java: package javafx.application does not exist
java: package javafx.concurrent does not exist
java: package javafx.geometry does not exist
(+ a few more javafx packages)
Java: package com.sun.nio.file does not exist

我尝试通过谷歌和堆栈溢出搜索这个问题的解决方案,但我没有找到任何东西。

在这篇文章之后,我还开始研究如何使用Java11:Intellij无法识别OpenJDK 11的javafx 11和我尝试了线程中所有可能的解决方案,但是我得到了以下错误消息:

代码语言:javascript
复制
JavaFX runtime components are missing, and are required to run this application

我如何解决这些问题?

谢谢!

更新:我从https://openjfx.io/下载了https://openjfx.io/并将它添加到我的库中,从而解决了所有JavaFX导入的问题。com.sun.nio.file包更难搞清楚。

EN

回答 1

Stack Overflow用户

发布于 2018-10-25 17:51:33

如果没有关于代码的更多信息,这是很难回答的。

我认为造成问题的原因是这里:“如果您试图在JDK 9下构建一个JavaFX应用程序,同时以Java 8为目标,任何解决任何JavaFX类型的尝试都将失败,编译将失败。”原因是JavaFX包含在JDK 9中,而不是JDK 8中。如果这是您的问题,您需要在构建路径中包含JavaFX jar文件。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52994779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档