我一直在尝试将jar转换为exe。该程序 - jar - 使用蓝牙库'Bluecove',这是某些目录中的另一个jar。该程序还使用Java Swing,通常是JFrame
和东西。从Netbeans或Eclipse中运行时,该程序运行良好。现在是我部署它的时候了,因此我需要将它转换为exe。但我一直无法获得与'Bluecove'链接的最终可执行文件。我尝试了JSmooth和Launch4j,但两者都有,虽然我可以完成这个过程并创建'exe',但最终的程序没有运行,因为它找不到Bluecove类。 / p>
有关如何解决此问题的任何建议?这些转换器都没有关于链接库的任何文档。任何帮助表示赞赏。
解决方案: 谢谢大家的答案!我使用了Andrew Thompson建议的方法来部署我的程序,该程序运行得非常好。为了创建JAR,我倾向于将所有东西放在一个JAR中,正如Abdullah Shaikh所建议的那样。我使用了Fat-Jar Eclipse插件。
答案 0 :(得分:4)
现在是我部署它的时候了,因此我需要将它转换为exe。
这两个陈述没有任何意义。我们无法部署Swing桌面应用。使用基于Windows的可执行文件到* nix或OS X.部署Java桌面应用程序的最佳选择。通常来自使用Java Web Start的网页上的链接。
来自BlueCove Documentation: Installation:
安装
BlueCove依赖于操作系统或蓝牙USB设备附带的已安装的本机蓝牙堆栈。
安装BlueCove的二进制(已编译)版本如下:
- 下载BlueCove二进制版本
- 将
bluecove.jar
添加到您的类路径- 如果您在 Linux
上运行应用程序,还要将bluecove-gpl.jar
添加到您的类路径中
这意味着以下内容。 2基于Java Web Start的JNLP扩展:
bluecove.jar
)的扩展,以及Linux所需的核心类。这个“主”JNLP文件将有一个特定于Linux 的资源部分,后者又引用了“仅限Linux”的扩展JNLP。bluecove-gpl.jar
)的扩展,其中包含一个安装程序元素,用于为用户弹出许可证提示(如果需要,仅在生成许可证提示时才需要此整个扩展名)。这是一个显示许可协议的小demo. of the ExtensionInstallerService
。..这会要求用户在使用应用程序时始终具有互联网连接,还是仅仅是第一次激活需要互联网?
Java Web Start客户端(启动适当的JVM和您的应用程序的应用程序。)通常会与主服务器一起检查与该操作系统相关的应用程序Jars的更新。幸运的是,它可以配置何时以及如何完成检查,以及是否可以根据需要“离线”运行应用程序,方法是在JNLP中指定一个元素:
<offline-allowed />
offline-allowed
元素(jnlp
element的一部分)确保在初始安装后应用。可以脱机使用。
答案 1 :(得分:2)
确保在创建启动器时将bluecove JAR添加到类路径中:setting classpath in JSmooth,setting classpath in Launch4j。
答案 2 :(得分:2)
答案 3 :(得分:1)
要解决此问题,请将所有相关的jar放在最终的jar文件中
在eclipse中,您可以通过以下方式执行此操作:File -> Export -> Java -> Runnable Jar File -> (Select the option) Package required libraries into generated jar
现在使用这个jar来创建一个exe,使用你选择的任何jar到exe转换器!
希望这有帮助