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

java - jpackage missing "mac.Appstore" bundle type

The old retired javapackager tool used to have 3 bundle types for mac os x:

  • dmg
  • pkg
  • mac.Appstore

But the new jpackage tool only has 2 types:

  • dmg
  • pkg

The mac.Appstore type was previously used when packaging the app to be submitted to Mac Appstore. It would automatically find two certificates (installer and application) and use it to sign both the app and pkg files.

This option doesn't seem to exist in the new jpackage tool.

My question: is there an option to build packages for Mac Appstore with jpackage that I somehow missed? Or is this option gone forever? If so then what's the alternative?

0 投票
1 回答
555 浏览

java - 让 jpackage 在 Mac Catalina 10.15.5 上运行的问题

我正在尝试将我的 Java 应用程序捆绑到一个 .dmg 文件中。计划是签署和公证我的应用程序,以便在我的网站https://strides.co.nz上分发。

我已经下载了 Java 14 并成功地在 bash 配置文件上创建了一个路径。一些 java 命令正在终端上运行,但每当我尝试运行 jpackage 时,我都会收到“找不到命令”。

由于被 Netbeans 宠坏了,我对 mac 并不太熟悉,并且命令行知识有限。有人可以就我所缺少的东西给我一些建议。

我仍在研究为什么包不能在我的机器上运行但仍然一无所有。我看到 jpackage 存在于 bin 中,但无法使其运行。这是我在我的机器上得到的:

我曾尝试在我的 Windows PC 上运行 jpackage,并且 jpackage 正在那台机器上运行。我似乎在mac上遗漏了一些东西。

0 投票
2 回答
488 浏览

java - 如果已经安装,则无法重新运行 Java JPackage 安装程序,第二次只是退出而没有警告

如果已经安装,则无法重新运行JPackage安装程序,第二次似乎没有警告就退出,这是 Windows 上的正确行为吗?

你可能会问我为什么要这样做?

好吧,就我而言,我正在尝试为我的 Java 应用程序构建一个 JPackage 安装程序,所以我正在构建它来安装它,然后调整设置,重建它并尝试重新安装。我花了一些时间才发现我无法重新安装它,除非我卸载第一次安装(使用控制面板、程序和功能)

我的案例可能不是通常的用例,但它只是在没有给出任何理由的情况下退出,感觉不正确。

这也意味着,如果我向客户部署新版本,并且稍后我需要修改安装程序,而不是我必须修改版本号以让用户重新安装,这通常可能是最佳实践,但我并不特别想要如果应用程序本身没有更改,则执行此操作。

更新:自从通过查看 TaskManager 发现它仍在运行但似乎没有做任何事情并且没有向用户提供任何指示!

0 投票
1 回答
312 浏览

java - 使用 JPackage 或 Java 如何删除使用预 JPackage 安装程序创建的文件

以前我使用Izpack安装我的 Java 应用程序,当用户想要安装新版本时,他们只是重新安装到相同的位置(C“/Program Files/Jthink/Jaikoz”),这将用新文件替换旧文件,并且有用户无需先卸载旧版本。

我现在使用JPackage(现在是 Java 的一部分,JDK 14)为最新版本的应用程序构建了一个安装程序,它会继续安装到相同的位置。问题是因为 JPackage 强制执行新的文件结构(应用程序和运行时子目录),我的文件不再覆盖我现有的文件,所以现在我的两个安装都搞砸了。

因此,我在最新版本中添加了一些代码,以在启动应用程序时删除不再需要的旧文件。但问题是这失败了,因为我没有删除这些文件的权限,我认为这是因为它们是由安装程序安装的(我不确定)

例如,这里我们显示旧文件组,只有系统和管理员有权修改/删除文件。

在此处输入图像描述

如果我以管理员身份运行,则代码会毫无问题地删除文件,但客户通常不以管理员身份运行,因此这没有太大帮助。

我有什么选择?

0 投票
0 回答
472 浏览

java - 使用 JPackage 如何在 Windows 上创建安装程序图标

我正在使用JPackage在 Windows 上安装我的 Java 应用程序,我有自己的应用程序图标,我也希望在运行安装程序时也可以使用它。

我已按照此处描述的一般方法运行 jpackage 两次,一次创建resources-dir,一次使用resources-dir

例如

但是,在这两个调用之间,我看不到任何要在创建的 target/jpackage 资源目录中修改的安装程序图标。实际上我看不到任何我可以明智地改变的东西,我很想知道人们对 Windows 安装做了什么改变。

在此处输入图像描述

0 投票
1 回答
112 浏览

java - JPackage 中的 --copyright 标志有什么作用?

--copyright该标志在JPackage中有什么作用?

我已将它包含在我的配置中,但是当我安装使用它构建的应用程序时看不到它(在 Windows 上)

0 投票
1 回答
324 浏览

java - 在 Linux 上创建 JPackage 安装程序 Java 应用程序时 linux-menu-group 应该是什么?

在 Linux 上创建 JPackage 安装程序 Java 应用程序的规范是什么?

我已经为 Windows 创建了一个安装程序,现在正在 Linux 上创建一个(使用 Ubuntu)

到目前为止,我有:

对于创建 debian 安装程序,它可以工作(安装尚未正常运行)但我对很多事情感到困惑,我对 linux 环境不太熟悉。

  • 看不到linux-menu-grouplinux-shortcut的效果
  • 我应该使用linux-menu-group还是linux-app-category,如果是,它是预定义的列表吗?
0 投票
1 回答
210 浏览

java - Problems with JPackage due to different path structure between Windows and Linux

On Windows I have just converted my application installer from Izpack to JPackage and because of the structure created by JPackage I had to make some code changes to allow my application to find various config files, basically they are copied from app folder to C:\Users\Username\Appdata.... on first start (but bit more complicated than that).

I am now using JPackage on Linux, and the application copies config files from app to $HOME/.appname. However whereas on Windows app is a subfolder relative to launcher with Linux its now in ../lib/app so the code doesnt work

So I have to make some linux specific changes, but it got me wondering am I doing something very wrong here in order for me to have to make these changes ?

0 投票
1 回答
366 浏览

java - 作为 JPackage 安装的一部分,如何在 linux 中使本机 linux 应用程序可执行

我正在使用适用于 linux 的JPackage (Java 14) 打包一个 Java 应用程序(称为 Jaikoz)。

java 应用程序有时必须调用名为fpcalc64的 ac 程序,在安装时它会存储在app文件夹中,但它只有rw权限

问题 1

有没有办法在安装过程中授予它执行权限?

问题2

即使我手动进入应用程序文件夹并使用chmod 777 fpcalc64授予完全执行权限,它仍然无法运行并且我的Java程序抱怨它没有权限,即使我重新启动应用程序也会继续发生这种情况,这怎么可能?

例如

失败

但是如果我从 linux shell 运行它就可以了

问题 3

我是否必须将 fpcalc64 存储在bin文件夹而不是lib/app中。如果我这样做,我该怎么做,它是一个预编译的二进制文件?

0 投票
1 回答
936 浏览

java - 错误:Java FX Packager:无法构建工件 - fx:部署在此 JDK 中不可用

我的 javafx 应用程序有 3 个月的问题,问题是我无法构建我的 javafx 应用程序。当我建立这个错误发生: Error: Java FX Packager: Can not build artifact - fx: deploy is not available in this JDK

我正在使用 Java SE 14.0.1。

我的步骤:

  1. 创建 JavaFX
  2. 将 Java SE 14.0.1 添加为 JDK
  3. 添加工件
  4. 建造

如何修复错误?我希望我的 javafx 应用程序可以在 mac、windows 和 linux 上运行。

有没有办法做到这一点?