问题标签 [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.
java - JPackage 仅返回 Java 14 上的 SDK 版本号
我最近将我们的 Java 11 应用程序移植到了新发布的 Java 14 (ZuluJDK)。当尝试通过命令行使用新的 JPackage 打包我们的应用程序时,无论我使用哪个 jpackage-command,唯一发生的事情是以下输出:
一个示例命令(审查了一些东西,由 < > 占位符表示......):
有人可以帮助我是什么原因造成的吗?sdk 版本的输出并没有提供太多帮助。
java - JPackage 在创建 DMG 之前将文件复制到 app 的 Resource 文件夹
我在 MacOS 上使用 Java 14 的 JPackage,需要在构建 DMG 之前将文件复制到应用程序的 MacOS 和 Resources 文件夹,但不知道如何操作。在打包工具用户指南中,它提到从名为 application-name-post-image.sh 的资源文件夹运行脚本,但这似乎没有发生。
java - 使用 jpackage 实用程序的代码签名 + 公证不适用于 macOS
在某些情况下,我正在使用 jpackage 实用程序来尝试创建一个签名的 DMG 文件以交付给我的用户。我需要签署这个 DMG 的原因是因为我想对软件进行公证。顺便说一句,我不确定是否可以(还)使用 jpackage 进行公证,但我还是在尝试。
但是,我在使用 jpackage 的内置代码签名选项时遇到了问题,这是成功公证的先决条件。
我正在使用选项运行 jpackage --mac-sign --mac-package-signing-prefix CardrDebate --mac-signing-key-user-name "Developer ID Application: ********** (*******)"
(我已经编辑了实际的开发人员 ID,因为它在 StackOverflow 上是公开的)。
创建 jpackage 应用程序映像后,我通过导航到几个生成的 .dylib 文件并尝试测试生成的代码是否实际上已签名codesign -vvv {filename}.dylib
,并且 codesign 说该对象根本没有签名(不是它被错误地签名,而是它只是根本没有签名)。
因此,我相信我的问题是由于我(可能)在 macOS 上错误地使用了 jpackage 的签名选项。我应该如何使用这些?
java - 使用 jLink + jPackage 创建 .exe 后无法连接到本地 MySQL 数据库
环境:OpenJDK 11、JavaFX 11、MySQL 8.0、Gradle 6.2.2、IntellijIDEA、Windows 8.1
问题: 当我在 IDE 中运行我的程序时,它可以正常工作并毫无问题地连接到数据库,但是一旦我尝试运行使用 jLink 和 jPackage 构建的 .exe,它就会显示错误。
“ConnectionManager”类中的一些代码用于连接到本地 MySQL 数据库:
构建.gradle:
错误堆栈跟踪:
请注意,从 IDE 运行时它可以完美运行。
java - 启动使用 jpackage 创建的已安装可执行文件时出现 ClassNotFoundException
我生成 MSI 安装程序的过程如下。
- 运行
mvn install
生成Example-1.0-SNAPSHOT-jar-with-dependencies.jar
. - 运行
windows-executable.bat
生成Example-1.0.0.msi
. - 安装
Example-1.0.0.msi
. - 转到安装目录,打开终端,然后运行
Example-1.0.0.exe
以查看阻止应用程序启动的任何错误。
此 POM 文件(已删除不相关部分)用于mvn install
生成Example-1.0-SNAPSHOT-jar-with-dependencies.jar
.
此脚本使用 jpackage 生成 MSI 安装程序。
这是第 4 步的输出。
javafx - 在 jpackage 之后运行 JavaFX 应用程序
我有一些非常菜鸟的问题。我尝试在 OpenJDK 14 中使用 jpackage 为我的测试应用程序创建安装。这是我所做的:
首先,创建自定义 JRE
那是成功的。我从运行配置中复制了我的 Eclipse 中的参数。之后使用 jpackage 进行安装
创建了 .msi 文件,我运行它,它在我的 Win10 应用程序中创建了条目。当然,我不知道如何在 windows 菜单中找到它,但它位于我的 C:\Program Files\HelloFX 中。当我尝试运行应用程序消息“无法启动 JVM”弹出时,我找到了带有 Duke 图像的图标和应用程序文件。
有人可以帮助我,我做错了什么?我真的很想完成这项工作并深入研究 JavaFX。
java - 无法通过 ToolProvider 找到 jpackage
精简版:我正在尝试从 gradle 任务中调用 jpackage,但 ToolProvider 返回 null(或者更好的是失败的 Optional)。AdoptOpenJDK 14.0.0(sdkman 标识符 14.0.0.hs-adpt)和 Java.net(我认为那是 Oracle OpenJDK!?)14.0.1(sdkman 标识符 14.0.1-open)就是这种情况。我正在使用 Gradle 6.3(但这感觉不像是 gradle 问题)。
长版:我正在关注jpackage 上的这个演讲,在 12:12 显示了从构建工具调用 jpackage 的代码。(官方jpackage页面还提到:除了命令行界面,jpackage可以通过名为“jpackage”的ToolProvider API(java.util.spi.ToolProvider)访问。)
仍然是我的(Kotlin)代码(位于 buildSrc/src/main/kotlin 中)
由新的 Gradle 任务调用
未能说明
我应该补充一点,从命令行调用 jpackage 没有问题。
更新:我证实这与 Kotlin 或 Gradle 无关。这个基本的 Java-14 程序产生了同样的异常:
解决方案:(结合 Slaw 的回答)由于 jpackage 处于“孵化”状态,因此对于我的非模块化应用程序来说不容易使用,我决定通过创建一个新进程来调用它:
我的任务定义如下所示:
我无法从 IntelliJ 中执行任务,因为它似乎使用它本身捆绑的 JDK11 调用 Gradle,但至少 IntelliJ 可以自己编译构建脚本(因为版本检查在 doLast 块中,而不是直接在寄存器块)。或者,您可以更改 IntelliJ 用来调用 Gradle 的 JDK,向下滚动到 Slaw 在他的答案下的评论,看看如何。
顺便说一句:我很确定Gradle 版本 6.3是这个工作的硬性要求,因为它是第一个与 Java 14 兼容的 Gradle 版本。
java - 使用 JPackage 制作 AppImage
我正在尝试使用 JPackage 创建 AppImage(在使用 OpenJDK 14 的 Ubuntu 18.04 系统上)
我找到的所有例子都是这种形式
当我运行它时,我得到一个目录./myappimage/
,./myappimage/bin/
其中有一个可执行文件,我可以启动它来运行应用程序。但整件事并没有像我想要的那样捆绑到一个 AppImage 文件中。
我在这里想念什么?
java - 如何在 JavaFX 15-ea+3 中设置应用程序图标
我制作了一个包含以下详细信息的 JavaFX 项目:
OpenJFX 15-ea+3
/// JDK 14
_ Gradle
_Non-modular
另外,我使用以下 Gradle 插件:
javafxplugin version 0.0.8
/ org.beryx.runtime version 1.8.2
& com.github.johnrengelman.shadow version 5.2.0
(用于创建原生图像)
此外,JDK 14jpackage
工具用于为应用程序创建安装程序包。这是build.gradle
文件:
我已经imageOptions = ['--icon icon.ico']
在jpackage
块内尝试过,但我总是收到这种错误:
非常感谢任何有用的建议或提示。
gluon - 观察到的服务模块不包含在 jpackage 中
我将GluonHQ 的 jpackager 反向移植用于 JDK 11--bind-services
,并使用以下参数运行它:
返回一个安装程序,但也抛出:
是我做错了什么,还是 jpackager 的这个反向移植实际上不支持这个论点?我的应用程序与安装程序打包在一起,我可以启动它,但实际上它应该调用服务但未能这样做。在这种情况下,我如何打包一个包含 的模块化应用程序ServiceProviders
?