问题标签 [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 回答
100 浏览

java - 从 jar 生成的 exe 文件未在 Windows 中运行

我在windows中使用jpackager生成了一个exe文件,当我安装它并尝试运行时,会生成这个错误。

关于如何解决这个问题的任何想法都将不胜感激这就是我生成 exe 文件的方式

0 投票
0 回答
266 浏览

java - 如何覆盖 Java 的 jpackage wix 默认值以创建包含安装位置的环境变量?

我有一个使用jpackage (Java 14) 打包的桌面 Java 应用程序。

Windows 安装程序

我想知道如何修改/覆盖 jpackage wix默认值,以便在环境变量中捕获安装位置。

我尝试使用 WiX Cookbook 中描述的方法添加环境变量(到 jpackage 创建的默认 main.wxs):https ://learning.oreilly.com/library/view/wix-cookbook/9781784393212/ch13s02.html

我还尝试向 jpackage 创建的 overrides.wxi 文件添加一个环境变量,我不认为这是正确的做法。

这两种尝试都导致 jpackage 失败。

我还花时间浏览了 WIX 文档,但发现它相当难以理解。

因此,任何提示、建议或示例将不胜感激。


供参考:jpackage创建的默认main.wxs:


供参考:jpackage创建的默认overrides.wxi:

0 投票
1 回答
660 浏览

java - jpackage 在 Windows 10 和 JDK 16 上不起作用

尝试jpackage用于我的一个项目,但无法正常工作,并因 103 错误代码而崩溃。

命令: jpackage.exe --main-jar evomaster.jar --input core/target/ --type msi

错误:

JVM:openjdk 版本“16” 2021-03-16 OpenJDK 运行环境 AdoptOpenJDK(build 16+36) OpenJDK 64-Bit Server VM AdoptOpenJDK(build 16+36,混合模式,共享)

操作系统名称 Microsoft Windows 10 Pro 版本 10.0.18363 Build 18363

任何线索(我做错了什么)或解决方法(如果有人已经遇到过这个问题)?

更新:

在 Jorn Vernee 的建议下,我light直接运行命令,查看错误消息。它充满了:

所有这些错误消息的共同点是它们与inlined类有关。程序是用 编写的Kotlin,Jar 是用maven-assembly-plugin

0 投票
1 回答
1126 浏览

gradle - 模块 java.base 不会“打开 java.lang.reflect”到模块 com.jfoenix

在开始描述我如何得到这个错误之前,这里有一些重要信息:

  1. 在我的项目中使用 module-info.java 是必不可少的,因为如果不使用它,jpackage 将无法工作。
  2. 我正在使用 SDK 14.0.2(这是允许使用包的最低版本)
  3. 每一条评论都将不胜感激;但是,如果您要评论与使用特定 VM 参数相关的内容,我请您按 ctrl+F 来检查我是否已经在使用您要建议的参数 - 因为有一堆 VM 参数在我的 build.gradle-

好的,让我们来看看我的问题:

首先,关注下面的 VM 参数:

如果我不使用这个参数,程序运行时会弹出如下错误:

重要 -> 这是我的视图在不使用提到的 VM 参数的情况下显示的方式(我们称之为图像 1): https ://snipboard.io/QJ5Fdc.jpg

“好吧,那你为什么不直接使用 VM 参数呢?” 好问题!好吧,让我们将它添加到我的 VM 参数中并再次运行该程序。

这样做之后,这就是我现在的视图(我们称之为图 2):https ://snipboard.io/fbhGxw.jpg

伟大的!这正是我的看法(请注意,考虑到它按预期工作,这次我没有错误)。

所以,在一切正常的情况下,我终于可以继续运行我的 jpackage gradle 任务了。这样做之后,事情就不再有意义了,因为在通过 .exe(由 jpackage 生成)执行我的程序之后,我的视图看起来像“图像 1”视图,不管我的项目在我使用“运行” gradle 任务。

关于为什么会发生这种情况的任何想法?(我的猜测是我的 module-info.java 是解决它的关键,因为每次我删除一个“opens”语句,例如:“opens my.package.name to javafx.fxml”,程序让我几乎相等误差)。

让我知道是否需要任何代码示例。我们将不胜感激所有帮助。谢谢!

编辑:相关的 GitHub 问题:在此处输入链接描述

0 投票
1 回答
356 浏览

java - 为带有 css 文件的程序创建带有 jpackage 的安装程序

我需要帮助解决在使用 jpackage 打包程序时遇到的问题。该程序是在 Eclipse 中创建的非模块化 JavaFX 应用程序。在 Eclipse 中,应用程序可以准确地编译和运行。但是当我使用命令提示符进行编译和运行时,编译工作但应用程序不再运行。我收到以下错误消息:

java.lang.NullPointerException:无法调用“java.net.URL.toExternalForm()”,因为“java.lang.Class.getResource(String)”的返回值为 null 在 application.Main.start(Main.java:158 ) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java :455) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at javafx .graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) 在 javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) 在javafx.graphics/com.sun.glass.ui.win。WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.爪哇:832)

尽管如此,jpackage 创建了一个安装程序,没有任何错误或警告消息。使用创建的安装程序进行安装也可以正常工作。但是当我启动我的应用程序时,我的 GUI 将不会显示。更准确地说:GUI 的第一部分是一些设置窗口,它们使用标准布局。显示设置窗口,但不显示“主”GUI。因此,我认为问题的根源在于缺少的 css 文件。我的假设是否正确,如果是的话:我该如何解决?

提前致谢!

附录:这是我的命令提示符输入:

  1. 目录 /s /b *.java > 来源.txt

  2. javac --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml –d out @sources.txt

  3. java --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml --cp out application.Main (这里出现错误)

  4. jar --create --file=libs/sample1.jar --main-class=application.Main –C out 。

  5. %JAVA_HOME%\bin\jpackage --type exe –i libs --main-jar sample1.jar –n Sample1 --module-path %PATH_TO_FX_MODS% --add-modules javafx.controls,javafx.fxml --main-class application.Main --win-shortcut --win-menu --win-dir-chooser

css 文件与主类位于同一目录中。

0 投票
1 回答
38 浏览

java - 包含 javax.mail 的 JPackage 选项

所以我有一个使用 javax.mail 库的程序,当我将 jar 打包到 windows 的安装程序时,它给了我一个错误,我可以追溯到 javax,我的猜测是有一些方法可以包含 javax。邮件作为我的模块的一部分,以便以后可以识别

这是我的 jpackage 命令的示例

package -t exe -- name appName --description "some description" --app-version 1.0 --input pathToInput --dest AbsolutePathToDestination --main-jar pathToMainJar --module-path AbsolutePathToJavaFxJmods --add-modules javafx.controls,javafx.base,javafx.graphics,javafx.web,javafx.fxml,java.sql --win-shorcut --win-menu --win-console

提前感谢您分享您的知识的朋友。

0 投票
0 回答
45 浏览

windows - Jpackage 未安装在 Windows 开始菜单中

我已经尝试过多次使用jpackage安装一个简单的java程序,该程序已经编译Eclipse并注册在文件夹中: C:\Users\User\Desktop\test作为jar文件。

我使用了 windows 命令提示符:

结果:

该文件:TestInstaller-1.0.exe已放置在测试文件夹中。

通过启动此文件,TestInstaller程序已安装,如控制面板中所示,但不会出现在开始菜单中。提供的图标不会显示在 WindowsPrograms and Features窗口中,而是默认的图标。我哪里做错了?

0 投票
0 回答
134 浏览

java - 使用 jPackage 时缺少 JavaFX 应用程序类

使用 jPackage 部署后,我收到消息“缺少 JavaFX 应用程序类 com.ponderwhy.pikeinventory.PikeInventory”。在 Windows 10 上使用 AdoptOpenJDK 16、JavaFx-16、WiX 3.11。当我使用以下 JVM 选项文件时,我的应用程序运行良好。



当我使用 jPackage 使用以下 jPackage 命令构建一个 .exe 文件时:



我有 2 个环境变量集,我找到了一些参考。PATH_TO_FX=C:\Java\javafx-sdk-16\lib PATH_TO_FX_MODS=C:\Java\javafx-jmods-16

我的所有三个项目,Basic、Ancillary 和 PikeInventory 都有 module-info.class。jPackage 构建、部署和安装没有错误。我的飞溅出现了,然后是失踪的班级消息。

我不知道下一步该尝试什么来解决我的问题。任何帮助将不胜感激。

彼得

0 投票
2 回答
372 浏览

scala - Windows 上的 jpackage:系统找不到文件,错误 103

我正在尝试打包我使用 jpackage 构建的 ScalaFx 应用程序,但在 windows 上遇到问题(mac 和 linux 工作得很好)。

我正在使用sbt assembly然后使用创建一个胖罐子jpackage来创建一个.msi但是我收到了这个错误:

0 投票
1 回答
402 浏览

java - 如何使用 JPackage 制作可移植的可执行文件?

我正在使用 JPackage (OpenJDK 15.0.1) 为 Windows 制作可移植的可执行文件。我尝试了下面的命令,但是我双击了生成的 exe 文件并显示了安装程序窗口。它似乎不是可移植的可执行文件,而只是安装程序。

有什么方法可以制作无需使用 JPackage 安装即可使用的可执行文件?