问题标签 [jpackage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1013 浏览

intellij-idea - JavaFX、JLink/JPackage 模块问题 - 添加库“启动层 java.lang.module.FindException 初始化期间发生错误”

IDE:IntelliJ。第一次尝试将 JavaFX 与一些附加库和可安装包一起使用 - (c/o JLink/JPackage) 已按照 OpenJFX 的指示从 IDE 进行模块化项目,并且可以让它正常工作。 https://openjfx.io/openjfx-docs/

添加库虽然我只是收到此错误: “启动层 java.lang.module.FindException 初始化期间发生错误:未找到模块 eu.hansolo.medusa,ModuleName 需要”

已阅读有关此错误的许多类似主题,但在这里没有特别高兴。

已尝试在运行配置中添加添加到 VM,即:
--module-path ${PATH_TO_FX}:mods/production --add-modules javafx.controls,javafx.fxml,eu.hansolo.medusa -
仍然出现“初始化期间发生错误启动层 java.lang.module.FindException:找不到模块 eu.hansolo.medusa”

但是.. 如果我删除“module-info.java”文件..我可以在 IntelliJ 中运行应用程序没问题.. 但是.. 然后我不能使用 JLink 来制作自定义运行时映像。

任何我能做的阅读建议或指示将不胜感激,并在此先感谢。

0 投票
1 回答
435 浏览

java - 在 windows 10 中使用 jpackage 创建 windows 包的问题?

我正在使用 openjdk 14.0.1

我一直在关注教程

https://openjfx.io/openjfx-docs/#install-javafx

按照 CLI 中的 Runtime images Modular 教程进行操作

我已经使用 jlink 成功创建了运行时映像。创建的运行时映像如下,使用 bin 内的 jvm 我可以运行此应用程序。

在此处输入图像描述

为了从这个运行时创建包

我正在使用命令

这将创建一个安装程序,如下所示

在此处输入图像描述

但是当我运行安装程序时,会发出声音,但什么也没有发生。如果我再次打开安装程序,也会发生同样的情况,即声音并且没有任何反应。所以我想知道我是否正确地执行了这个过程。我很感激任何帮助!谢谢!

0 投票
1 回答
1160 浏览

java - 有没有办法使用 jpackage 更改安装程序文件的图标?

我有一个简单的模块化 javafx 应用程序。

我编译它使用

这将创建 mods 目录

然后我使用命令创建运行时映像

这将在 hellofx 目录中创建运行时映像

现在我使用 jpackage 命令来创建 Windows 安装程序。在目录中,我有一个应用程序图标。

此图标用于已安装的应用程序,但有没有办法为安装程序文件本身创建图标?名为 HelloFX-1.0 的安装程序文件没有图标。有没有办法配置 jpackage 来更改这个文件的图标?谢谢您的帮助!

在此处输入图像描述

0 投票
1 回答
489 浏览

java - 为什么 Windows 搜索工具栏中不使用 jpackage 图标?

我正在使用以下命令创建安装程序。我给 jpackage 使用的图标

当我安装程序时,该图标用于桌面快捷方式,但在搜索工具栏中,它仍显示默认的 java 图标。有没有办法在搜索工具栏中使用给定的图标?我很感激任何帮助。谢谢!

在此处输入图像描述

更新:

在这里,图标似乎已正确应用于搜索工具栏中的应用程序图标。

https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage

在此处输入图像描述

更新 2:

开始菜单图标正确

在此处输入图像描述

0 投票
0 回答
459 浏览

java - 外部模块 A 和 B 将包 some.package 导出到 Java 9 中的模块 C

当我使用外部库运行我的应用程序时,我得到以下信息:

我发现了类似的问题,但是如果我有外部库,我该怎么办,例如:

我在 gradle 文件中使用 jlink。

带有示例的存储库:https ://github.com/Patresss/KotestModule

0 投票
0 回答
146 浏览

java - Javafx start 方法在 AppKit 线程而不是 Javafx 线程上运行

在运行由 jpackage 为 Mac OS X 构建的 Javafx 应用程序时,我注意到一些奇怪的事情。

如果我运行以下代码:

输出将是这样的:“AppKit 线程”

如果我注释掉,com.apple.eawt.Application.getApplication()那么我们会得到正确的输出:“JavafX Application Thread”

当我稍后在 Javafx 尝试加载 css 文件时遇到 NullPointerException 时,此问题是有问题的,因为它的 AppKit 线程有一个空的 ClassLoader。

我可以通过至少 3 种方式重现上述问题:

  • 调用com.apple.eawt.Application.getApplication()如上图。
  • 调用new JGoogleAnalyticsTracker(config, GoogleAnalyticsVersion.V_4_7_2);which 是我使用的库。

注意:当我从 Intellij 运行我的应用程序时,不存在上述问题。仅当我使用jpackage构建二进制代码来启动 JVM 时才会出现该问题。我正在使用 Java 14 和 Javafx 14。

我的问题:

  • 什么是“AppKit”线程,Java 从该线程调用是否正常?
  • 上述情况是错误还是预期行为?
0 投票
2 回答
144 浏览

java - 如何提示用户授予我的程序读/写权限

我用 Java 制作了一个可爱的计算机程序,配备了方便的jpackage安装程序,我很想以用户友好的方式与全世界分享它。作为其设计的一部分,我的程序使用ObjectOutputStream. 不幸的是,该程序缺乏在“程序文件”等安全文件夹中读取和写入文件的权限。

我不能指望普通用户知道如何设置策略文件,那么有什么方法可以使这个过程自动化或提示用户在安装过程中授予读/写权限,而无需向代码认证机构支付数百美元?或者我应该继续我已经在做的事情,即要求用户将软件安装到他们的主目录或以管理员身份运行程序?其他程序员在这种情况下会做什么?

0 投票
1 回答
744 浏览

java - 在Java中你如何调试由JPackage创建的exe

我正在尝试将使用 Izpack 创建的 Java 应用程序的 Windows 安装转换为使用 Java 14 中提供的 JPackage。安装程序会构建并安装,但是当我尝试运行它创建的 exe 时,它​​会失败,但没有提供有关失败原因的信息。

是否有日志或某种方法可以找出它实际上无法启动的原因?

0 投票
1 回答
324 浏览

java - 为什么Java JPackage 在两个地方安装Windows dll 文件?

为什么 Java JPackage 在两个地方安装 Windows dll 文件?

我的Jlink cmd 是:

"C:\Program Files\AdoptOpenJDK\jdk-14.0.0.36-hotspot\bin\jlink" --module-path="C:\Program Files\AdoptOpenJDK\jdk-14.0.0.36-hotspot\jmods" --add-模块 java.desktop、java.datatransfer、java.logging、java.management、java.naming、java.net.http、java.prefs、java.scripting、java.sql、jdk.management、jdk.unsupported、jdk.scripting .nashorn,jdk.jcmd --输出 C:\code\jthink\jaikoz\windowsjre\JVM64

我的构建命令是

"C:\Program Files\AdoptOpenJDK\jdk-14.0.0.36-hotspot\bin\jpackage" -i C:\Code\jthink\jaikoz\target\Jaikoz\activebuild\buildWindows\lib --runtime-image C:\code \jthink\jaikoz\windowsjre\JVM64 --main-class com.jthink.Jaikoz --name Jaikoz --win-dir-chooser --main-jar jaikoz.jar --app-version 10.2.0 --install-dir Jthink2\Jaikoz --copyright "版权信息" --arguments "-l2 -m2 -f" --vendor JThink

它们直接安装在安装文件夹中,并且在runtime/bin文件夹中,是否意味着这样做?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
947 浏览

java-14 - 您可以使用 Java JPackage 来创建自己的 Windows 安装程序而不使用其运行应用程序的方式吗

背景,我目前将Izpack用于我的 Windows 安装程序,我捆绑了一个 java 运行时并使用winrun4j作为安装程序和安装后的实际程序的包装器。它工作了很长时间,但是安装程序存在许多我无法解决的问题,并且一直在寻找替换它。

Oracle 现在提供 JPackage 安装程序,因此这似乎是一个明智的选择。但是安装程序创建的文件夹结构与我目前拥有的不同,我有许多配置文件和非 java 文件,我无法获得 JPackage 创建的 .exe 来执行任何操作。

那么是否可以使用 JPackage 来创建安装程序,但结构更好地匹配我现有的结构,并使用继续使用 WInRun4j 来实际运行我的应用程序

现有文件夹结构

J包结构