问题标签 [jwrapper]
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 - Linux 系统上的 JWrapper 图标
我们使用 JWrapper 来部署我们的一些桌面应用程序。我必须说 JWrapper 的易用性和它提供的功能给我留下了深刻的印象。
我们主要在 Linux 环境中开发,但我们的客户主要使用 Windows。我们将 JavaFX 用于带有 Java 8 的桌面应用程序。我们使用 Java 8 是因为它可以很好地与 JavaFX 配合使用,并且日期选择器之类的功能仅在 Java 8 之后才可用。
在使用 JRE-1.7 包制作示例应用程序以测试 JWrapper 的功能之后,一切都像魅力一样工作:Linux、Windows 和 Mac 上的图标。
对于我们的演示应用程序,我必须为 JWrapper 捆绑 Java 8,一切正常,应用程序随处安装并在安装后启动,但在 Linux(Ubuntu)上,Dash 中没有出现图标。我在 ~./local 文件夹中搜索了 .desktop 文件,但只在其中找到了示例应用程序的 .desktop 文件。
我在 JWrapper 论坛上搜索了类似的问题,发现一个提到了类似的问题,但这个问题没有引起任何关注,JWrapper 在一两天前退出了他们的论坛,转而使用 stackoverflow。这是论坛中的问题: http ://www.jwrapper.com/old-forum.html#nabble-td209
这使我得出结论,Linux 上的 JWrapper 和 Java 8 不兼容。我知道 Java 8 仍然是新的,还没有被 JWrapper 的好人捆绑和测试。(如果你们有兴趣,我会提供我的帮助)
我可以在 JWrapperPostInstallApp 中为 Linux 系统编写图标(.desktop 文件)的创建,但这只是一种解决方法。我错过了什么吗?有没有人有一个已经工作的解决方法?
macos - JWrapper 应用程序无法在 OS X 10.7.5 上启动
我的 64 位 JWrapper 应用程序在 OS X 10.8、10.9 和 10.10 上可以正常启动,但在 10.7.5 上却不行。我正在使用最新版本的 JWrapper (00031607960)。这是崩溃日志:
jwrapper - 我如何告诉 JWrapper 只在 Mac 上构建 64 位版本的应用程序?
我想为 Windows 和 Linux 构建一个 32 位和 64 位应用程序,但只为 Mac 构建一个 64 位应用程序,
目前我的应用程序 .xml 文件如下所示:
虽然我没有指定 Mac32JRE,但始终会创建一个 dmg 文件 (MYAPP-macos32-offline.dmg) 如何告诉 JWrapper 只为 Mac 构建 64 位版本?
java - JWrapper 示例应用程序无法在 Mac OS X 10.8.5 上启动
我正在尝试将 jWrapper 与 Java 8 一起使用,但我不明白如何设置 JRE。
作为我在 JWrapper 配置 .xml 文件上指定的测试(我在 Mac OS X 10.8.5 上):
但这以这样的异常结束:
有些人显然已经设法使用 Java 8,但我无法找到任何细节,所以我正在寻找一个详细说明......
编辑:更多信息
今天早上我重命名了文件:
至
并且看起来 JWrapper 然后只是跳过文件并且构建完成并且一切看起来都很好。
但是,当我尝试启动生成的 64 位 Mac OS X .app 文件时,它会在几十秒后失败且没有错误消息。
看着登录:
我看到启动失败:
回到基本,我删除了与 JWrapper 相关的所有内容并从头开始:
-下载 JWrapper -下载示例应用程序 -下载 jre-17 包
将它们全部放在一个目录中,执行:
java -Xmx2048m -jar jwrapper-00031607960.jar sampleapp/jwrap
构建成功完成,但 .dmg 中的 64 位 Mac .app 无法启动,日志显示:
因此,即使是他们自己的 samppleapp 上的开箱即用 JWrapper 在这台机器上也失败了。
我推测错误“启动错误 13”是“权限被拒绝”,因为在“unpack200”上执行“ls”会给出:
此外,看起来有点怀疑(再次基于日志的推测)显然有三个参数('[Spawner] Appended argument ...')给了'unpack200',因为它只需要两个。实际上,尝试从命令行解包(只是为了调试)可以使用最后两个参数,但不能使用三个参数。
我很难相信 JWrapper 中会有这种错误,所以我一定是做错了什么,或者我的系统有问题。也许需要检查磁盘权限或其他东西。
java - 使用 JWrapper 构建 java 应用程序
需要对以下几点进行一些输入。提前致谢。
我们已经在 Mac 版本中使用 JWrapper 部署了我们的项目。
对于最新的升级安装,我一直在尝试仅替换更新的 jars 文件(来自其他 Mac OS)以检查增量更新。
应用程序停止运行并给出类似“加密数据完整性检查失败”的异常。
我对此的理解是,JWrapper 为每个版本的软件包添加了一个校验和。
在那种情况下,我如何只能替换一个 jar(在客户端位置)以支持增量更新。
如果您需要任何其他信息,请告诉我。
java - JWrapper 的 JRE 版本要求是什么?
我试图让我的在线 JWrapper 安装程序使用系统 JRE,但是他们最终总是下载 JRE,导致每天的下载流量达到数十 GB。在日志中,我看到以下日志消息:
那么,六个 JRE 版本要求是什么?是否可以提供一个 unpack200 实现供安装程序使用?
java - wrapper-00031607960 适用于 windows 和 linux,应用程序未在 Mac 上启动,但 jnlp 有效
JWrapper 似乎在 Windows 和 Linux 上非常适合我们(我们在所有平台上都使用 jre1.8.0_25 进行部署),但在 mac 上,应用程序解包正常,据我所知,但它实际上从未在 mac 上运行——安装程序咕哝着(在其日志文件中)关于 force spawn 为 0,因此它将使用 JNI 启动,尽管我的 jwrapper.xml 为 true。当我通过 JNLP 运行应用程序时,无论是使用我们的 jnlp 文件,还是使用安装在浏览器中的 Java 的 shell 脚本来 javaws jnlp 文件,应用程序都可以完美运行。我已将 url 粘贴到创建的应用程序、jnlp URL、jwrapper.xml 以及在下面运行时生成的日志文件:
-------------------- 下载 jwrapperified 版本的 URL ---------------
--------------------- jnlp 的 URL --------------------
---------------------- jwrapper xml -------------- --
------------------------ mac 上启动的日志文件 --------- ----
java - 使用 JWrapper 构建 Java 应用程序的致命错误
如图所示,我从 Eclipse 4.4 Luna 导出了一个 jar(不可执行),并尝试使用 JWrapper 为 Windows、OSX 和 Linux 生成本机应用程序。我在终端中使用的命令是
文件系统是这样的:
xml文件jwrapper-spaceinvaders.xml
如下:
但是在尝试使用上述命令从终端构建时出现以下错误:
我想知道Eclipse是否没有正确构建我的JAR文件,因为示例应用程序似乎构建得很好,我只是根据给定的示例修改了xml文件。
java - jwrapper 阻塞 META-INF 目录
在一个项目上尝试 jwrapper,它失败了,如下所示:
应用程序 jar 有这个:
问题可能是什么?
如果单独运行 pack200,则会引发相同的错误。我不知道 META-INF/服务有什么特别之处。许多其他目录的处理都没有错误。
更新:
刚刚发现 unzip 有一个“详细”标志,它揭示了这种奇怪:
除 META-INF/services/ 外,所有目录都标记为“已存储”。但是我不知道为什么或如何。
java - jwrapper 命令行应用
我需要打包一个可以双击或在命令行上调用的应用程序。然而,Jwrapper 在后台运行应用程序,将一堆日志信息转储到终端,并将标准输出发送到日志文件,使其无法在命令行上使用。
有没有办法控制这个?也许在特定的虚拟应用程序中?
更新:
jar 支持许多命令行开关,包括 --help 和 --version,它们输出到控制台,以及通过套接字与应用程序通信的指令(例如“告诉正在运行的应用程序在以下位置加载文件小路”)。这些是用于编写脚本和调试的,因此不一定是与“双击运行”用户相同的受众。所以一个备用方法是要求这些用户手动安装 jvm + jar。
可以安装一个不分叉、不输出到控制台或直接输出到文件的轻量级包装器吗?例如,只运行捆绑的 jvm,传入 jar 和主类?
更新2:
或者更好的是一个命令行开关,以防止分叉、来自包装器的控制台输出和重定向输出。