我一直在尝试使用 JWrapper 来部署我正在开发的 Java 应用程序,但是我无法成功地让我的应用程序的“在线”Windows 安装与 Google Drive 的网络托管设施(我的第一个文件服务器的选择)或 DropBox(文件服务器的第二选择)。仔细阅读当我执行 [myApp]-windows64-online.exe 时生成的日志表明 jWrapper 安装机制无法访问远程安装文件(在我的 Google Drive 实现和我的 DropBox 实现的情况下)。
(顺便说一句,我的应用程序的“离线”Windows 安装运行良好。)
为了让 JWrapper 支持人员(以及其他可能回复此线程的人)更轻松地解决这个问题,我已经成功地模拟了 JWrapper 示例应用程序的问题。
为了使用示例应用程序启用在线安装,我在 jWrapper 示例应用程序的构建参数中添加了一个额外的元素:
<UpdateURL>https://googledrive.com/host/0B0skoeyva4KiU01RbmYxS3JLYmc/</UpdateURL>
这是我在 Google Drive 中创建的文件夹的公共 URL,用于保存 JWrapper 为示例应用程序生成的“build”文件夹的内容。然后,我使用最新版本的 JWrapper (jwrapper-00033253833.jar) 为示例应用程序运行 JWrapper 构建过程,并将生成的“构建”文件夹的内容复制到上面引用的 Google Drive 文件夹中。
然后我打开提供的示例 html 以下载示例应用程序安装的“在线”版本:
https://googledrive.com/host/0B0skoeyva4KiU01RbmYxS3JLYmc/SampleAppEmbedExample.html
在上面的网页上,我点击了“下载 SampleApp”按钮,这导致了 SampleApp-windows64-online.exe 的下载,我执行了它。然后我在生成的安全警告中单击“运行”(示例应用程序没有证书),JWrapper 启动窗口出现了几秒钟然后消失了。Windows 任务管理器显示所有 JWrapper 进程都已终止。
生成的安装日志文件在这里: https ://googledrive.com/host/0B0skoeyva4KiU01RbmYxS3JLYmc/Wrapper-2015-01-13-14-49-33-805.log
总结日志内容,似乎多次远程下载尝试都失败了,整个安装过程终止并显示以下消息:
[JREDownload] Failed to download JRE version file
我使用 DropBox 作为文件服务器重复了整个构建和安装序列,结果相似。安装日志文件在这里: https ://dl.dropboxusercontent.com/u/2023253/jwSample/Wrapper-2015-01-13-15-24-13-778.log
这些结果完美地模拟了我在尝试使用 JWrapper 生成的组件进行类似的“在线”安装时使用更大的 Java 应用程序所遇到的情况。
感谢任何人都可以针对此问题提供的任何帮助。
顺便说一句,我使用 Google Drive 进行网络托管的说明如下:
http://googleappsdeveloper.blogspot.com/2012/11/announcing-google-drive-site-publishing.html
编辑 2015-01-15
我注意到 JWrapper 在线安装过程生成的输出日志似乎显示在输出其最终消息“无法下载 JRE”之前从远程服务器检索文件长度失败(“所需文件大小未知!”)版本文件”并终止。我的进一步测试证实,当调用 getContentLength 方法以确定文件长度时,Google Drive HTTP 连接总是返回 0。但是,在我的测试中,仍然可以下载该文件而没有任何问题。
我无权访问 JWrapper 源代码,但可能是 JWrapper 安装程序将文件长度 0 误解为“文件不可访问”的同义词?