Java RXTX 库不加载本机库

2024-02-23

基本上我想使用 Arduino 编写一个简单的通信工具java 的 RXTX 库 http://rxtx.qbang.org/wiki/index.php/Main_Page并且在加载动态库时严重失败。

我的系统规格:
操作系统:OS X 优胜美地 10.10.3
Java:SDK 1.8.0_45
RXTX:2.1-7r2 - 针对运行64位java的intel mac的修改版本,可以找到here http://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac-os-x/.
IDE:NetBeans 8

我检查过,这些文件是按照安装说明工作的,只需将这两个文件复制到 /Library/Java/Extensions 目录中即可。

现在我想删除它们并从我的应用程序加载库。 我做了以下事情:

  • 将 RXTXcomm 库添加到 netbeans 中的项目中。
  • 使用以下代码将本机库的容器包含在“java.library.path”属性中

System.setProperty("java.library.path", location.getPath() + File.pathSeparator + System.getProperty("java.library.path"));

  • 并使用加载库System.loadLibrary("rxtxSerial")

当我编译代码并尝试运行它时,它给了我一个
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path

现在我想知道我做错了什么(也许是一些很大的误解?)

任何帮助,将不胜感激!


这是对您的问题的解释和解决方案的建议。

我认为RXTX有两个主要问题:

  1. 根据您的 IDE,您需要放置 Mac:RXTXcomm.jar and librxtxSerial.jnilib PC: RXTXcomm.jar, rxtxSerial.dll在 IDE 或 Java 代码中项目的根目录中,它随 IDE 的不同而不同。这里的文档没有介绍如何在 NetBeans、IntelliJ 等不同的 IDE 中执行此操作,因此我让它可以在 Eclipse 和 IntelliJ 上运行,但还不能在 NetBeans 上运行。我还有其他问题。
  2. 根据您的操作系统,即使您启动并运行此软件包(以 Windows 8.1 为例),关闭端口时也会出现问题。唯一的解决方案是重新启动 IDE/控制台并重新连接。

无论如何,我建议你使用一个问题更少的软件包,称为 JSSC

下面是一个使用JSSC从串口读取数据的简单例子:

public class Main {

    public static void main(String[] args) {
        SerialPort serialPort = new SerialPort("COM1");
        try {
            serialPort.openPort();//Open serial port
            serialPort.setParams(9600, 8, 1, 0);//Set params.
            byte[] buffer = serialPort.readBytes(10);//Read 10 bytes from serial port
            serialPort.closePort();//Close serial port
        }
        catch (SerialPortException ex) {
            System.out.println(ex);
        }
    }
}
  • 查看所有示例JSSC https://code.google.com/p/java-simple-serial-connector/wiki/jSSC_examples codes
  • 该包可以下载here https://code.google.com/p/java-simple-serial-connector/downloads/list.
  • JSSC 主页 https://code.google.com/p/java-simple-serial-connector/

Note:这是一个开放的答案,如果你们中的任何人有这方面的经验,请通过编辑答案来贡献。 我见过有人提出问题,并且对 RXTX 遇到几乎同样的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java RXTX 库不加载本机库 的相关文章

随机推荐

  • USB 传输数据

    我正在尝试通过 USB 发送和接收数据 我的设备 Acer Iconia A500 拥有连接到设备所需的一切 一切都很好并且工作正常 但是当我尝试发送和接收数据时 它的行为并不像预期的 这是我的代码 for this is the main
  • git pull --rebase 上游 master 污染了我的 Github PR diff

    在按照维护人员的要求更改 PR 之前 我会执行以下操作git pull rebase upstream master将我的提交置于代码库中其他新提交之上 然而 这似乎污染我的 PR 的差异 https github com pandas d
  • preg_match() 和用户名

    function isUserID username if preg match a z d 2 20 i username return true else return false 简单的 我有这个 你能解释一下它检查什么吗 我知道它会
  • 无法使用不安全的私钥通过 ssh 连接到 vagrant VM(vagrant 1.7.2)

    我有一个包含 3 个虚拟机的集群 这是 Vagrant 文件 mode ruby vi set ft ruby hosts host0 gt 192 168 33 10 host1 gt 192 168 33 11 host2 gt 192
  • 如何在 C 中创建 3 位变量作为数据类型? [复制]

    这个问题在这里已经有答案了 I can typedef char to CHAR1这是8位 但是如何将 3 位变量设置为数据类型呢 您可能想要执行类似于以下操作的操作 struct unsigned int fieldof3bits 3 n
  • CSS Hack 针对 Firefox 3.5+?

    Firefox 3 5 现在支持 nth 伪类 我用它来定位 Safari 和 Chrome 的 css 现在 Firefox 也会读取这些内容 从而导致轻微的布局问题 有谁知道专门针对 FF 3 5 的方法吗 BODY nth of ty
  • 如何使用 WordPress 点击播放 GIF(如 9GaG.com)?

    我需要在wordpress网站中实现这个 gif播放器 因为gif页面高达6mb 所以性能真的很糟糕 我读过这个Onclick 使用 jQuery 播放 GIF 图像并从头开始 https stackoverflow com questio
  • 如何删除 angular-ui-router URL 中的“#”符号

    我正在使用 angular ui router 库 但我遇到了 URL 问题 我有以下代码 app js app config function stateProvider urlRouterProvider stateProvider s
  • 根据 getDay 和 getHours + getMinutes 显示 div

    我正在为一家广播电台建立一个网站 并想显示当前正在播出的主持人 我构建了一个网络应用程序 其中包含演示者的数据 姓名 照片 个人简介以及每个工作日的开始 结束时间 div div class slot div div div 12 00 1
  • 以编程方式检查 DataBound CheckListBox

    我有一个 DataBound CheckedListBox 我需要检查上面的一些项目 我尝试使用以下代码 if string IsNullOrEmpty search Languages string langs search Langua
  • 如何避免 Raphael js 路径重叠

    我有一个基于 Raphael js 的流程图 它是一样的http raphaeljs com graffle html http raphaeljs com graffle html 然而 由于我有许多矩形拉斐尔盒子 并且我的线条路径是直线
  • Android 应用程序上的阿拉伯日期

    我正在开发 Android 应用程序 以及在应用程序上添加阿拉伯语的下一个版本 但我有一个问题 这个问题是 Android操作系统转换日期动态地为阿拉伯格式 我在 URL 参数中使用它 服务器无法读取它 如何将任何阿拉伯日期转换为英文日期
  • 打开 .git/config :权限被拒绝

    C Users Inspiron git config文件夹为空且命令 git config user email email protected cdn cgi l email protection返回错误 打开 git config 权
  • Android RecyclerView 适配器在单元测试中给出 null

    我正在尝试使用 AndroidJunit4 测试 RecyclerView 这是我的测试代码 package com kaushik myredmart ui all includes RunWith AndroidJUnit4 class
  • Symfony 序列化实体从输出中转义反斜杠

    您好 我正在为我的应用程序使用 Symfony2 我正在使用序列化器组件 encoder new JsonEncoder normalizer new GetSetMethodNormalizer callback function dat
  • 为什么最新的 JDK 更新后 Java 无法连接 MySQL 5.7?如何修复? (ssl.SSLHandshakeException:没有适当的协议)

    在 2021 年 4 月 JDK 的最新更新中 11 0 11 9 0ubuntu2 18 04 支持TLSv1 and TLSv1 1已被删除 大概是因为自 2021 年 3 月以来 这些版本不再受支持 这可以从差异中看出java sec
  • 使用Python吃掉内存

    我正在尝试创建一个可以 有目的地 消耗我们立即指定的 RAM 的应用程序 例如我想消耗512 MB RAM 那么应用程序将直接消耗512 MB 我在网上搜索过 大多数都是使用 while 循环来向内存中填充变量或数据 但我认为这是填充 RA
  • __repr__ 方法的目的?

    def repr self return
  • Recycler View 回调活动

    我正在尝试为单个回收器视图项目实现单击侦听器 并使用单击的数据 单个借用者 从我的活动中运行方法 怎么处理呢 我是 kotlin 新手 所以分步指导将会非常有帮助 Thanks 主要活动 val db by lazy Database ge
  • Java RXTX 库不加载本机库

    基本上我想使用 Arduino 编写一个简单的通信工具java 的 RXTX 库 http rxtx qbang org wiki index php Main Page并且在加载动态库时严重失败 我的系统规格 操作系统 OS X 优胜美地