Windows上面直接使用Maven的依赖就可以直接运行,但是Linux上面却不行。
配置环境变量:
export JAVAFX=/home/javafx-sdk-11.0.2/lib
运行启动命令:
java --module-path $JAVAFX --add-modules javafx.fxml,javafx.controls -jar snail.jar
后来我发现了一个更好的解决方案,就是pom.xml的配置也可以解决。
在Window上面只需要配置fxml/controls就可以了,其他的会自动引入:
org.openjfx
javafx-fxml
${javafx.version}
${os.name}
org.openjfx
javafx-controls
${javafx.version}
${os.name}
Linux打包时把其他的都显示声明就可以了:
org.openjfx
javafx-fxml
${javafx.version}
${os.name}
org.openjfx
javafx-controls
${javafx.version}
${os.name}
org.openjfx
javafx-base
${javafx.version}
${os.name}
org.openjfx
javafx-graphics
${javafx.version}
${os.name}
其实这个问题主要是我在Win上面打包的问题,默认使用的是打包系统的软件版本。
也可以直接使用Maven命令指定系统:
mvn clean package -DskipTests "-Djavafx.platform=linux"