javafx调用jlink生成独立运行的镜像
通过idea中maven调用jlink 生成独立运行时,无需用户安装 镜像体积较大
pom.xml中主类为com.wyrjgs.multiplecontroller2.HelloApplication即继承了Application的应用类,而不是AppStartup存在main方法的类
如:<mainClass>com.wyrjgs.multiplecontroller2/com.wyrjgs.multiplecontroller2.HelloApplication</mainClass>
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/main-view.fxml"));
Scene scene = new Scene(fxmlLoader.load());//320, 240
//获取工作目录
// System.out.println(System.getProperty("user.dir"));
stage.setTitle("工作目录:"+System.getProperty("user.dir"));
stage.setScene(scene);
stage.show();
}
}
**
* 1、解决javafx高密度显示问题,默认允许高密度显示,但是高密度显示下,javafx的组件会变大,所以需要禁止高密度显示
* 2、操作系统的显示设置中,将缩放改为100%,然后运行程序
* 3、操作系统有时默认会将缩放设置为125%,使程序窗口变大,也可以通过程序方式设置禁止高密度显示,System.setProperty("prism.allowhidpi", "false");//true允许高密度显示,false禁止高密度显示
* */
public class AppStartup {
public static void main(String[] args) {
//true允许高密度显示,false禁止高密度显示。该设置必须在单独类中,然后运行javafx应用程序,否则无效
System.setProperty("prism.allowhidpi", "false");
Application.launch(HelloApplication.class, args);
}
}
生成内容位于项目target目录下
生后的程序目录下包含各种库文件
可执行程序通过helloapp.bat批处理文件调取
也可通过自定义tartrunapp.vbs脚本启动程序,这是应用程序的工作目录为脚本文件tartrunapp.vbs所在的目录。