JAVA17安装体验JFX17抢先体验
JAVA17安装体验JFX17抢先体验
java17版本是长期支持版,至少更新5年以上。而且商用免费!这里我就来体验一把。
一、下载配置 java 17
官网下载地址: 当前的版本是17.0.1 2021年11月14日13:37:42 下载zip版本,解压到C:Program FilesJavajdk-17.0.1,接着配置环境变量。
二、多jdk版本环境变量配置
由于我原来已经安装java8,需要做多环境变量设置。 1、创建一个:JAVA17=C:Program FilesJavajdk-17.0.1 2、创建一个:JAVA8=C:Program FilesJavajdk1.8.0_202 3、创建一个:JAVA_HOME=%JAVA17% 若想切java8只需要改下JAVA_HOME=%JAVA8% 如下: 配置环境变量:Path中添加:%JAVA_HOME%in、%JAVA_HOME%jrein 注意,环境变量不能放在最前面,即%JAVA_HOME%in这种不能在path的最前面,必须是非变量放前面,否则变量无效。我放在第三第四 此时:Win + R cmd: java -version 若不生效可以打开一个cmd:
set path=11 echo path
再关闭此cmd,重新打开cmd即可!以此做到刷新path的效果。 至此java17配置完毕,将Maven项目改一下: pom.xml
<properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>17.0.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>17</source> <target>17</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
刷新Maven,运行一个javafx发现会报缺少javafx组件: 若用idea2021.2.x版本,初始化JavaFX项目选择Maven可以正常运行,可惜我这是2020版本的IDEA,需要额外配置。
二、IDEA配置openjfx17
配置openjfx也可以参考: 我们知道,javafx已经在jdk11还是9、10哪个版本来着,将此作为独立的GUI维护,并推荐使用OpenJFX。OpenJFX的下载地址:我这里下载17.0.1的zip版本。 将OpenJFX17解压到C:Program FilesJavajavafx-sdk-17.0.1, 配置idea的application启动,添加启动参数,将模块引入: --module-path "C:Program FilesJavajavafx-sdk-17.0.1lib" --add-modules javafx.controls,javafx.fxml 启动
public class JavaFxDemo extends Application { @Override public void start(Stage stage) throws Exception { // 定义一个标签,类似html中的span Label label = new Label("hello world!"); // 将标签加入场景,场景类似 HTML中的 body, 将span放到body中 // 将场景放到stage中,类似HTML 中的将 body 放到 html标签里一样 stage.setScene(new Scene(label)); // 设置舞台的宽高标题 stage.setWidth(400); stage.setHeight(100); stage.setTitle("师姐,你好!"); stage.show(); } public static void main(String[] args) { launch(args); } }