java9 javafx_无法在java 9下针对java 8构建javafx应用程序

我正在尝试构建一个应用程序,该应用程序具有使用JavaFX构建的GUI,并使用java 9的新版本标记来定位Java 8.

编译

import javafx.application.Application;

public class Testing {

public static void main(String... args) {

}

}

用java定位java时

javac Testing.java

工作正常(也在使用时--release 9),但是当我添加发布标志时

javac --release 8 Testing.java

它无法编译给出不存在的错误

Testing.java:1:error: package javafx.application does not exist

在JDK8 javac下编译时没有问题.我已尝试使用该--add-modules标志添加jfx模块,但在将版本设置为8时不允许使用该标志.

有没有办法在java 9下完成这项工作?看来它并不认为jfx软件包包含在java 8中,但它们是(至少在oracle的发行版中).

我在Windows上使用java 9的发行版,并且在最新的java 8版本中构建了相同的应用程序而没有任何问题.

我尝试在使用标志进行编译时将java 8安装(而不是rt.jar)中的jfxrt.jar添加到类路径中,并且它确实有效.--release 8

我的理解是发布标志的一个目的是消除安装多个JDK版本的需要(或者至少是他们的rt.jar文件).我不确定是否只是为了消除编译这个文件的需要,或者意图是不需要针对任何JDK打包文件进行编译(并且jfxrt.jar包含在JDK8中[至少在Oracle的版本]不需要特殊标志或类路径修改来使用它).

在没有确定意图的情况下,某些东西在java 8下完全编译似乎是错误的,但是需要额外的jar来编译(并且只编译不运行)在针对java 8的java 9下(但是在针对java 9时不能),以及因此需要多个JDK.对于那些更熟悉发布标志的预期实现的人来说,这应该是这样的吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值