【问题标题】:How to add a program to startup with jpackage?如何使用 jpackage 添加一个程序来启动?
【发布时间】: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 可以定义servicesadd a program to start on boot。可以自定义您的构建以指定您希望的选项,以便 Wix 构建您想要的安装程序,但我没有足够的 jpackage 经验来确定或提供说明。

标签: java javafx installation windows-installer jpackage


【解决方案1】:

当您在 Windows 上运行时,我知道如何在 Linux 上解决这个问题。

JPackage 将创建一个 Debian 包。这样的包主要包含两个 tar 包: 主包包含需要安装在文件系统中的文件。另一个包含元数据(我们这里有什么包?)以及四个脚本,每个脚本都将在特定事件中运行:

  • 在解压 tar 球之前执行预安装(安装)
  • 在解压 tar 球后执行 postinst(安装)
  • prerm 在应用程序被删除(卸载)之前执行
  • postrm 在应用程序被删除(卸载)之前执行

回到您的问题,我所要做的就是提供我的 postinst 脚本版本,该脚本将注册应用程序以在 https://docs.oracle.com/en/java/javase/17/jpackage/override-jpackage-resources.html#GUID-1B718F8B-B68D-4D46-B1DB-003D7729AAB6 之后自动启动

也许 Windows 版本有类似的东西?

【讨论】:

    猜你喜欢
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多