环境:使用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} 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条)