问题标签 [javapackager]

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 回答
161 浏览

java - 如何跟踪基于 javapackager 的应用程序在 macOS 上启动时的功能?

我为 macOS 编写了一个基于 Java 的应用程序,该应用程序是使用javapackagerJava 8 中的 Oracle 创建的。它运行了几个月,直到发生了一些变化,可能是由于最近的 Java 更新,现在当我重建应用程序时,结果退出时没有任何消息执行。直接在终端外壳(即使用java -jar path/to/my.jar)中运行 jar 文件本身可以正常工作而不会出错。我不知道该.app版本出了什么问题,并且无法弄清楚如何从 javapackager 创建的任何东西中获取任何诊断信息。

如何跟踪.app创建的 usingjavapackager在运行时的作用?

我正在使用 Oracles Java 1.8 u152 的-deploy -native image选项javapackager在 OSX 10.12.6 上创建应用程序。我的问题特别是关于如何获得结果.app以打印它正在做的事情,或获得错误诊断或其他东西,以帮助弄清楚它在幕后所做的事情。我不需要帮助来运行javapackager自己。

我认为使用Console将有助于了解正在发生的事情,但信息太稀疏,我难以解释。在隐藏了很多其他进程输出之后,归结为正在打印以下内容:

尽管taskgated起初该错误似乎相关,但一些谷歌搜索表明这是一个常见问题而不是致命的。

0 投票
0 回答
150 浏览

windows - 使用 Javapackager 固定到任务栏

当我通过令人惊叹的fxlauncher创建我的 JavaFX 应用程序的 javapackager 本机包时,我得到它以正确的应用程序图标(包/窗口/..icon @ 256x256)启动,但是当我将它固定到任务栏时,它恢复为灰色的 Java 图标。你可以看到我在这个赠品中的意思。有谁知道为什么会这样?

问题

0 投票
1 回答
377 浏览

java - JDK9 Packager:创建没有运行时的映像

在 Java 8 中使用 Java Packager 时,可以选择不在生成的图像中包含运行时(例如,请参阅此问题)。

我正在尝试实现相同的目标(使用此处描述的 ant 任务)。但是我不知道如何在结果.app.exe文件中不包含 JVM。

我问的原因:我正在使用该jlink实用程序创建自己的运行时,并希望替换与应用程序捆绑在一起的默认运行时。这工作得很好,但无论如何替换默认运行时,首先包含它是不必要的步骤。

旁注:该应用程序尚不兼容 JPMS,因此包含整个 JVM。

0 投票
1 回答
536 浏览

java - Javapackager - 复制库 JDK 9 时出现 NoSuchFileException

当我使用javapacker 命令时,我得到一个NoSuchFileException应该将库复制到应用程序文件夹的时间。我正在运行以下命令:

任何接缝都可以正常工作,但是我在输出中得到 NoSuchFileException 并且lib文件夹中的库丢失(没有被复制)。

我不知道输出的以下行试图告诉我什么。该文件显然存在于我的lib文件夹中,并且 javapackager 确实通过查看我提供参数的lib文件夹内部找到了它。-srcfiles test-1.0.jar;lib

知道为什么 javapacker 抱怨该文件不存在吗?

0 投票
2 回答
8319 浏览

java - 找不到库:jvm.dll。这里发生了什么?

在安装了我的应用程序的某些计算机(但不是所有计算机)中,在看似成功安装之后,当您尝试运行它时,它会显示此错误:

在此处输入图像描述

该文件存在于该目录中,因此,我不确定为什么它说找不到库。

该错误之后是

在此处输入图像描述

最后:

在此处输入图像描述

然后什么也没有发生。应用程序没有启动。有什么想法吗?

有些人指出这个错误报告似乎在谈论这个问题:https : //bugs.openjdk.java.net/browse/JDK-8191176 但我已经用 8u162 和 8u172 构建了我的应用程序(早期访问,特别是, jdk-8u172-ea-bin-b03-windows-x64-18_jan_2018),结果是一样的。它发生在 Windows 10 Pro 1703 和 1709 上。

我不确定还有什么相关的。

0 投票
1 回答
711 浏览

java - 如何从我的应用程序访问 MSI 公共属性?

我通过 javafxpackager 使用 Wix 为我的 Java (8) 应用程序构建 MSI 安装程序。安装时,我可以传递命令行属性,例如:

如何FOO从我自己的应用程序中访问 的值?

我已经有一个wxsjavafxpackager 正在获取的自定义文件(src/main/deploy/package/windows/<<APPNAME>>.wxs),它看起来像这样

0 投票
1 回答
585 浏览

java - Java 10 可执行文件在安装后不会执行

我有一个奇怪的问题 - 我有一个 javafx 程序,我使用 maven 编译和打包(对于 Windows,我使用 Inno setup 创建一个安装包)。从 Java 8 升级到 Java 10(更新 pom.xml 文件中的插件并更新配置)后 - 我已经到了构建成功完成的地步。

问题是在 Windows 上安装软件包后 - 启动程序的 exe 文件将无法正常运行。它开始一瞬间然后停止。

奇怪的部分:如果我尝试从 target\bundle 文件夹(maven 为打包程序准备文件的文件夹)运行相同的 exe - 它运行良好!

这两个文件夹 - target\bundle 和 Programs files(x86)/vendor/appname 是相同的(文件和配置文件内容)。

我在 Programs files(x86)/vendor/appname 下检查了 exe 的权限,它们看起来很好。

我正在 Windows 8.1 机器上进行测试(在其他机器上显示相同的行为,这让我相信这是一个真正的问题,而不是我的测试机器的错误配置)。

相同的脚本用于为 MAC OSX 创建安装包,并且在 OSX 上一切正常,因此代码没有问题。

关于是什么原因以及如何解决它的任何想法?

附加信息 :

  1. 自从迁移到 Java 10 后,这种情况才开始发生。Java 8 和 9 可以完美运行。

  2. 我的应用程序不写入程序文件安装文件夹中的任何文件。配置和日志文件仅写入 %user%/AppData 文件夹。

0 投票
0 回答
92 浏览

java - 将 JAVA_HOME 从 javapackager 设置为所有子应用程序

我有一个关于javapackager的问题,我是这个功能的新手。

我需要创建一个要分发的 exe(和 OSX 的应用程序)。我使用 javapackager 创建了一个包含 JRE 的包并创建了我的设置,一切似乎都有效。问题是,如果我从 Java (ProcessBuilder) 使用命令:

操作系统给我一个 JRE 缺失错误(如果 PC 上没有安装 Java)。

我想要的只是将JAVA_HOME变量设置为来自 javapackager 的捆绑 JRE 或不涉及更改命令行的解决方案。

我尝试了 Launch4J,一切都按预期工作(它设置了临时 PATH 和 JAVA_HOME 变量),所以我认为这是可能的,但我不知道所涉及的参数是什么。我更喜欢使用javapackager,因为它对操作系统的依赖性较小。

我试图设置,-Bruntime但这不是解决方案。

感谢您的帮助和解决方法的想法。

0 投票
1 回答
512 浏览

java - 无法使用 javapackager 制作基于模块的 jar

我是 javapackager 和 Java 9 的新手,正在研究javapackager参考中的示例,第一个示例如下所示:

示例 1 - 使用 -createjar 命令

我能够制作 jar 文件(tcdmod.jar)而不会出现错误消息。但是当我尝试使用普通命令执行 jar 时出现错误:

错误:无法找到或加载主类 moduleTCD.com.adonax.tanpura.TCDLaunch 原因:java.lang.NoClassDefFoundError: com/adonax/tanpura/TCDLaunch(错误名称:moduleTCD/com/adonax/tanpura/TCDLaunch)

用于制作 jar 的命令:

编译文件夹:

jar 中的清单显示:

到目前为止我为解决这个问题所做的尝试:

  • 我无法从文档中判断我是否正确指定了 -appclass 参数。文档定义 -appclass 如下:“要执行的应用程序类的限定名称。” 但我没有看到任何迹象表明“合格”是什么意思。我尝试了几个看似合理的不同名称。我使用的模块名称的表格是否正确?

  • 我创建了第二个“已编译”目录,在该目录中只是从项目中省略了该模块,并使用我的 -srcdir 重试了该命令。在这种情况下,生成的 jar 文件可以正常工作。

  • 我验证了我可以使用已编译的源代码(来自“已编译”文件夹)从命令行运行程序:

    爪哇-p。-m 模块TCD/com.adonax.tanpura.TCDLaunch

有什么想法吗?为了制作一个独立的 exe 包(主要目标),如果我正确阅读文档,我需要一个基于模块的 jar 文件。

0 投票
1 回答
173 浏览

java - Javapackager - 包含 Java 可执行文件

在 javafx-maven-plugin 的配置中,我使用 bundleArguments 将 jdk.shell 包含到我的包中。

效果很好,但是我还需要将 Java 可执行文件放在 Java.runtime/Contents/Home/bin 文件夹中。有谁知道这是否可能?

谢谢!!