
环境:使用maven进行javaFX项目构建,JDK版本:11
使用IDEA创建一个maven工程,然后编辑依赖如下:
插件配置UTF-8 11 3.9.0 11 0.0.8 org.openjfx javafx-controls${javafx.version} org.openjfx javafx-fxml${javafx.version} org.openjfx javafx-maven-plugin${javafx.maven.plugin.version} maven-plugin org.apache.maven.plugins maven-compiler-plugin${maven.compiler.version} maven-plugin
启动类vm参数配置maven-compiler-plugin ${maven.compiler.release} ${maven.compiler.release} org.openjfx javafx-maven-plugin0.0.8 ry.main.SearchMain rySearch -Xmx1024m
PATH_TO_FX 为环境变量,该环境变量指向 javaFX的SDK文件夹。
附上SDK下载路径:https://gluonhq.com/products/javafx/
我下载的windows版本,下载完成在IDEA或者windows中配置好环境变量后就可以在启动类中添加如下VM参数
--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml
之后编写代码,启动应用即可
启动类代码如下:
package ry.main;
import javafx.application.Application;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class SearchMain extends Application {
public void start(Stage stage) throws Exception {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
Scene scene = new Scene(new StackPane(l), 640, 480);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
启动运行效果如下:
附上jlink客户端运行时的maven插件配置:
maven插件支持的命令参考如下:
javafx:运行选项
该插件默认包括: -module-path和-add-modules选项-classpath。
或者,可以使用以下方式修改配置:
mainClass: 主类,全限定名,带或不带模块名
workingDirectory: 当前工作目录
skip: 跳过执行。值:假(默认),真
outputFile: 重定向进程输出的文件
options:传递给可执行文件的 VM 选项列表。
commandlineArgs: 执行程序的参数用空格分隔
includePathExceptionsInClasspath:解析模块路径时,将此值设置为 true 将包括在类路径中生成路径异常的依赖项。默认情况下,该值为 false,并且不会包含这些依赖项。
runtimePathOption:默认情况下,插件会将每个依赖项放在模块路径或类路径上(基于某些因素)。设置配置后runtimePathOption,插件会将所有依赖项放在模块路径或类路径上。
如果设置为MODULEPATH,则需要模块描述符。所有依赖项都需要模块化或包含 Automatic-Module-Name。
如果设置为CLASSPATH,则需要一个 Launcher 类(如这个)来运行 JavaFX 应用程序。此外,如果存在模块信息描述符,它将被忽略。
值:MODULEPATH 或 CLASSPATH。
该插件使用“jdk”工具支持 Maven 工具链。
jlink运行时支持的其他命令参考如下:
javafx:jlink 选项
jlink可以设置相同的命令行选项:
stripDebug: 去除调试信息。值:假(默认)或真
stripJavaDebugAttributes:去除 Java 调试属性(从 Java 13 开始),值:false(默认)或 true
compress:正在使用的资源的压缩级别。值:0(默认)、1、2。
noHeaderFiles:删除includes生成的运行时映像中的目录。值:假(默认)或真
noManPages:删除man生成的运行时映像中的目录。值:假(默认)或真
bindServices:添加绑定服务的选项。值:假(默认)或真
ignoreSigningInformation:添加忽略签名信息的选项。值:假(默认)或真
jlinkVerbose:添加详细选项。值:假(默认)或真
launcher:添加具有给定名称的启动器脚本。
如果options已定义,这些将作为 vm 选项传递给启动器脚本。
如果commandLineArgs已定义,这些将作为命令行参数传递给启动器脚本。
jlinkImageName:带有生成的运行时映像的文件夹的名称
jlinkZipName:设置后,创建生成的运行时映像的 zip
jlinkExecutable:jlink可执行文件。它可以是完整路径或可执行文件的名称(如果它在 PATH 中)。
jmodsPath: 使用本地 JavaFX SDK 时,设置本地 JavaFX jmods 的路
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)