【发布时间】:2021-09-26 13:06:59
【问题描述】:
我最近在看 jpackage 有没有任何选项自动将应用程序添加到启动中,例如考虑我有,
App.java
package org.openjfx;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
* JavaFX App
*/
public class App extends Application {
@Override
public void start(Stage stage) {
var label = new Label("Hello, JavaFX");
var scene = new Scene(new StackPane(label), 640, 480);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
模块信息.java
module Sample {
requires javafx.controls;
opens org.openjfx;
}
使用maven生成运行时,
mvn javafx:jlink
然后生成安装程序,
jpackage --win-dir-chooser --runtime-image ./target/image/ --name Sample-Javafx --module Sample/org.openjfx.App -d ./target/bin/
这一切都很好,但我想要的是在启动时注册 App.java 并在安装后启动这个应用程序是否可以使用 jpackage 或者 App.java 中有任何技巧来实现这一点?
【问题讨论】:
-
据我所知 jpackage 没有提供这样的选项。
-
感谢您的回复,还有其他选择吗?
-
我不认为,但也许其他人知道。祝你好运:)
-
您可能需要为此提交功能请求,假设尚不存在。如果您继续使用
jpackage,一个潜在的解决方法可能是在您的应用程序首次启动时尝试在您的应用程序中执行此操作。例如,在 Windows 上,我很确定启动应用程序是通过简单地在特定文件夹中具有快捷方式来确定的;不确定其他操作系统。 -
jpackage依赖 wix 工具集来构建 Windows 安装程序。 Wix 可以定义services 或add a program to start on boot。可以自定义您的构建以指定您希望的选项,以便 Wix 构建您想要的安装程序,但我没有足够的jpackage经验来确定或提供说明。
标签: java javafx installation windows-installer jpackage