我在我的程序中使用了bluecove库
通过eclipse运行程序时,一切都很顺利。我现在正在尝试部署我的程序,在这篇文章之后,我使用了胖jar
当我运行jar文件(由fat jar创建)时,找不到库,并且由于这行代码local=LocalDevice,我得到了异常BlueCove库不可用。getLocalDevice()
。
在Fat-jar窗口中,我还尝试将bluecove-2.1.0.jar
添加到Class-Path
位置,并使用路径\src\JoJoServer\bluecove-2.1.0.jar
。
我还尝试将Bluecove的jar文件放在不同的文件夹中,例如src或外部文件夹。
虽然我知道这不是推荐的,但我尝试了一个罐子的选择,尽管它没有帮助。
要运行jar(由胖jar创建的),我只需双击文件。
我错过了什么?
这是整个代码:
import java.io.IOException;
import javax.bluetooth.BluetoothStateException;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.io.StreamConnectionNotifier;
@Override
public void run() {
// retrieve the local Bluetooth device object
LocalDevice local = null;
StreamConnectionNotifier notifier;
StreamConnection connection = null;
// setup the server to listen for connection
try {
local = LocalDevice.getLocalDevice();
local.setDiscoverable(DiscoveryAgent.GIAC);
UUID uuid = new UUID("0000110100001000800000805F9B34FB", false);
System.out.println(uuid.toString());
String url = "btspp://localhost:" + uuid.toString() + ";name=RemoteBluetooth";
notifier = (StreamConnectionNotifier)Connector.open(url);
} catch (BluetoothStateException e) {
System.out.println("Bluetooth is not turned on.");
e.printStackTrace();
return;
}
// ...
}
我不知道你有什么问题,但我已经尝试了这个过程,一切都很好,所以我只是总结一下我所做的。也许你会跟着它走。。。
我不明白发布的代码怎么可能是完整的,我看不到类定义。:)因此,我将其修改为main方法,它既可以在Eclipse中工作,也可以通过运行FatJar生成的JAR来工作。
BTTest类的修改代码:
package test;
import java.io.IOException;
import javax.bluetooth.BluetoothStateException;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.io.StreamConnectionNotifier;
public class BTTest {
public static void main(String[] args) throws Exception{
// retrieve the local Bluetooth device object
LocalDevice local = null;
StreamConnectionNotifier notifier;
StreamConnection connection = null;
// setup the server to listen for connection
try {
local = LocalDevice.getLocalDevice();
local.setDiscoverable(DiscoveryAgent.GIAC);
UUID uuid = new UUID("0000110100001000800000805F9B34FB", false);
System.out.println(uuid.toString());
String url = "btspp://localhost:" + uuid.toString()
+ ";name=RemoteBluetooth";
notifier = (StreamConnectionNotifier) Connector.open(url);
} catch (BluetoothStateException e) {
System.out.println("Bluetooth is not turned on.");
e.printStackTrace();
return;
}
// ...
}
}
为了运行或生成它,我刚刚将bluecove库放在构建路径中,并用一种简单的方法创建了胖jar:http://oi60.tinypic.com/vg1jpt.jpg
从命令行启动生成的jar:
D:\testProjects\bttest>java -jar bttest_fat.jar
BlueCove version 2.1.0 on winsock
0000110100001000800000805f9b34fb
BlueCove stack shutdown completed
你能给你的流程贴一个不同的标签吗?
我正在完成一个项目,我必须将它部署为一个jar文件,在eclipse中它工作得很好,我的项目依赖于两个库,这两个库也都依赖于dll文件。我已经将这些DLL的路径添加到每个外部JAR的本机库位置。然后,我使用eclipse可运行的jar文件导出向导将project导出为一个jar文件我在指定的位置得到了jar文件,它运行了,但是当我单击一个调用我得到的库之一的按钮时,我得到了java.lang.Un
介绍如何搭建云联壹云高可用环境。 高可用部署方案介绍 云联壹云 平台高可用至少需要3个及3个以上的节点组成高可用环境;高可用环境将会自动部署MINIO作为共享存储,MINIO默认挂载在其中一个节点,当该节点宕机后,将会自动挂载到其他的节点上。 3节点版 使用3个节点部署高可用环境时,需要在2个节点上部署数据库高可用以及 云联壹云 平台高可用, 该方案只能保证部署高可用的2个节点中的其中一个宕机而不
Seata 的高可用依赖于注册中心、配置中心和数据库来实现 Seata-Server Seata-Server 需要使用注册中心,并把事务数据保存到数据库中,以 Nacos 为例 修改registry.conf的注册中心配置 registry { type = "nacos" nacos { application = "seata-server" serverAddr
我的ant-script和Tomcat有问题。我想创建一个ant-scipt,它使用Jenkins在我的tomcat-server上构建、编译和部署我的GWT应用程序。为此,我使用来自catalina(catalina-ant.jar)的undeploy and deploy任务。但是我得到了这个错误: 构建失败d:\jenkins\jobs\homepageTomcat\workspace\BU
问题内容: 我正在x86 ubuntu机器上为树莓派ARM目标编写一些代码。我正在使用gcc-linaro- armhf工具链。我能够交叉编译并在pi上运行一些独立程序。现在,我想将代码与外部库(例如ncurses)链接。我该如何实现。 我应该将程序与主机上现有的ncurses lib链接,然后在ARM上运行吗?(我认为这行不通)我是否需要为arm获取lib的源代码或预构建版本,将其放在我的lib
Fabric 是一个 Python 下类似于 Makefiles 的工具,但是能够在远程服务器上 执行命令。如果您有一个良好配置过的 Python 软件包 (大型应用) 且 对“配置”概念的理解良好,那么在外部服务器上部署 Flask 应用将会非常容易。 开始之前,请先检查如下列表中的事项是否都已经满足了: 在本地已经安装了 Fabric 1.0 。即这个教程完成时, Fabric 的最新版本。