sri*_*anp 6 java installation windows-installer javafx jpackage
我最近查看了 jpackage 有任何选项会自动将应用程序添加到启动中,例如考虑我有,
应用程序.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();
}
}
Run Code Online (Sandbox Code Playgroud)
模块信息.java
module Sample {
requires javafx.controls;
opens org.openjfx;
}
Run Code Online (Sandbox Code Playgroud)
使用maven生成运行时,
mvn javafx:jlink
Run Code Online (Sandbox Code Playgroud)
然后生成安装程序,
jpackage --win-dir-chooser --runtime-image ./target/image/ --name Sample-Javafx --module Sample/org.openjfx.App -d ./target/bin/
Run Code Online (Sandbox Code Playgroud)
这一切都工作正常,但我想要的是在启动时注册 App.java 并在安装后启动此应用程序是否可以使用 jpackage 或者 App.java 中有任何技巧可以实现此目的?
当你在 Windows 上运行时,我知道如何在 Linux 上解决这个问题。
JPackage 将创建一个 Debian 软件包。这样的包主要包含两个 tar 球:主要的一个包含需要安装在文件系统中的文件。另一个包含元数据(我们这里有什么包?)以及四个脚本,每个脚本都将在特定事件中运行:
回到你的问题,我所要做的就是提供我的 postinst 脚本版本,该脚本将按照https://docs.oracle.com/en/java/javase/17/jpackage/override将应用程序注册为自动启动-jpackage-resources.html#GUID-1B718F8B-B68D-4D46-B1DB-003D7729AAB6
也许 Windows 版本有类似的东西?
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |