我一直在尝试转换罐子EXE。 该方案 - 罐子 - 使用蓝牙库“Bluecove”,这是在某些目录另一个罐子。 该方案还使用Java Swing的,通常JFrame
之类的东西。 从NetBeans中或Eclipse中运行时程序完美的作品。 是时候让我部署它,因此我需要将其转换为EXE。 但我一直无法得到最终的可执行文件“Bluecove”链接。 我试过JSmooth和Launch4j ,但兼具,虽然我可以完成整个过程,并创建了“EXE”,最后的程序不运行,因为它无法找到Bluecove类。
如何解决这个问题有什么建议? 这些转换器都没有关于与库进行链接的任何文件。 任何帮助表示赞赏。
解决方案:感谢球员的答案! 我用安德鲁·汤普森的建议的方法来部署我的程序,这美丽的工作。 并创建JAR,我更愿意有一个JAR的一切,由谢赫阿卜杜拉的建议。 我用脂肪-JAR Eclipse插件为。
是时候让我部署它,因此我需要将其转换为EXE。
这两个报表没有意义在一起。 我们不能部署一个Swing桌面应用程序。 到* nix中或使用基于Windows的可执行OS X。 部署一个Java桌面应用的最佳选择。 通常使用一个网页上的链接Java Web Start的 。
从BlueCove文档:安装 :
安装
BlueCove依靠随您的操作系统或蓝牙USB设备已经安装本地蓝牙堆栈。
的BlueCove的二进制(已编译)版本安装如下:
- 下载BlueCove二进制版本
- 添加
bluecove.jar
到类路径 - 另外补充
bluecove-gpl.jar
到类路径中,如果你正在运行在Linux上的应用
这将意味着像下面这样。 2个基于Java Web Start JNLP扩展:
- 对于BlueCove主要API的扩展程序(
bluecove.jar
)支持Windows和OS X,以及需要为Linux的核心类。 这个“主” JNLP文件必须具体到Linux的一个资源部分,进而将“仅适用于Linux”引用扩展JNLP。 - 为Linux特定API(扩展
bluecove-gpl.jar
),其包括一个安装元件弹出一个许可证提示用户(如果需要的话,这整个延伸是必要的仅用于产生许可提示)。 这里是一个小的演示。 的ExtensionInstallerService
,将显示一个许可协议。
..would这需要用户总是使用应用程序时,互联网连接,还是仅仅是第一次激活,需要互联网?
在Java Web Start的客户端(应用程序。一个启动适当的JVM和您的应用程序。)通常会回来检查与主服务器的更新有关该操作系统的应用程序的JAR文件。 幸运的是配置为何时以及如何检查,以和应用程序是否能够“离线”通过指定JNLP元素运行根据您的需要,:
<offline-allowed />
所述offline-allowed
元件(的一部分jnlp
元件 )可确保在初始安装后,该应用程序。 可以离线使用。
确保创建发射器,当你添加bluecove JAR到类路径: 在JSmooth设置CLASSPATH , 在Launch4j设置CLASSPATH 。
罐子里面,你需要把所有的依赖罐子,也可以有明显的为你的罐子使用Class-Path头。
您也可以尝试脂肪罐子扩展或一个罐
要解决这个问题,你把所有的依赖罐子最终JAR文件中。
在Eclipse中,您可以在以下方式做到这一点: File -> Export -> Java -> Runnable Jar File -> (Select the option) Package required libraries into generated jar
现在使用这个罐子使用任何的jar到exe您选择的转换器来创建一个exe!
希望这可以帮助