我最近看了一下jpackage,想知道是否有选项可以自动将应用程序添加到启动项中。例如,假设我有一个名为“App.java”的文件。
使用Maven生成运行时,
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();
}
}
module-info.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
,一个潜在的解决方法可能是尝试在应用程序启动时完成此操作。例如,在Windows上,启动应用程序通常只需要在特定文件夹中放置快捷方式;其他操作系统则不确定。 - Slawjpackage
依赖于 wix 工具集来构建 Windows 安装程序。Wix 可以定义 服务,或者在启动时添加程序。可能可以定制您的构建以指定所需的选项,使 Wix 构建出您想要的安装程序,但我没有足够的jpackage
经验来确定是否可以这样做或提供说明。 - jewelsea