小编典典

Jar可以通过外部库执行

java

我一直在尝试将jar转换为exe。该程序-jar-使用蓝牙库“ Bluecove”,它是某个目录中的另一个jar。该程序还通常使用Java Swing
JFrame和东西。从Netbeans或Eclipse中运行时,该程序可以完美运行。现在是我部署它的时候了,因此我需要将其转换为exe。但是我一直无法获得最终的可执行文件来链接“
Bluecove”。我尝试了JSmoothLaunch4j,但是使用这两者,尽管我可以完成该过程并创建“
exe”,但最终程序未运行,因为它找不到Bluecove类。

关于如何解决这个问题的任何建议?这些转换器都没有关于与库链接的任何文档。任何帮助表示赞赏。

解决方案: 谢谢大家的回答!我使用了安德鲁·汤普森(Andrew
Thompson)建议的方法来部署我的程序,效果很好。为了创建JAR,我更喜欢按照Abdullah
Shaikh的建议将所有内容都放在一个JAR中。我为此使用了Fat-Jar Eclipse插件。


阅读 215

收藏
2020-11-23

共1个答案

小编典典

现在是我部署它的时候了,因此我需要将其转换为exe。

这两个陈述在一起没有意义。我们无法部署Swing桌面应用程序。使用基于Windows的可执行文件来*
nix或OSX。部署Java桌面应用程序的最佳选择。通常来自使用Java Web
Start的网页上的链接。

来自BlueCove文档:安装

安装

BlueCove依赖于操作系统或Bluetooth USB设备随附的已安装的本机Bluetooth堆栈。

BlueCove的二进制(已编译)版本的安装如下:

  • 下载BlueCove二进制发行版
  • 添加bluecove.jar到您的类路径
  • bluecove-gpl.jar* 如果您正在 Linux 上运行应用程序,还请添加到您的类路径中 *

这意味着类似以下内容。2个基于Java Web Start的JNLP扩展:

  1. BlueCove主要API(bluecove.jar)的扩展,以支持Windows和OS X以及Linux所需的核心类。该“主” JNLP文件将具有 特定于Linux 的资源部分,而该资源部分又引用了“仅Linux”扩展名JNLP。
  2. Linux专用API(bluecove-gpl.jar)的扩展,其中包括安装程序元素,用于为用户弹出许可证提示(如果需要,整个扩展仅对于产生许可证提示是必需的)。这是一个小演示。的ExtensionInstallerService,将显示一个许可协议。

..这是否要求用户在使用该应用程序时始终保持互联网连接,或者仅仅是第一次激活需要互联网?

Java Web
Start客户端(启动适当的JVM的应用程序和您的应用程序)通常会向主服务器返回以检查与该OS相关的应用程序Jar的更新。幸运的是,可以通过在JNLP中指定一个元素来配置何时以及如何进行检查以及是否可以按要求“离线”运行该应用程序:

<offline-allowed />

offline- allowed元件(的一部分jnlp元件)可确保_在初始安装后,_ 该应用程序。可以离线使用。

2020-11-23