1

我已经编写了一个用于串行通信的 java 应用程序,但是它依赖于http://rxtx.qbang.org/。我能看到的唯一其他选项是 javax.comm,我告诉我它已经过时或不推荐......

在 RXTX 的情况下,我最终将 dll 放入各种 Windows 系统文件夹中,就像我在 Linux 上所做的那样,以便 JVM 可以看到它。

自从我使用 javax.comm 以来已经很长时间了,但我似乎记得做过类似的事情。

我真的很想让我的应用程序操作系统独立。我喜欢发送我的 java 应用程序 (JAR) 文件,无论是 Windows (x86/64) 还是 Linux 系统,无需事先修改它就可以正常工作。

为此,我需要在我的 jar 中包含所有必要的文件。

实现这一目标的最佳方法是什么?有更好的串行通信选项吗?

谢谢,

附言。刚刚为 Ubuntu 找到你可以使用 apt-get 安装 RxTx

sudo apt-get install librxtx-java

4

2 回答 2

1

试试 Purejavacomm,它使用没有本地 DLL 的 JNA:http ://www.sparetimelabs.com/purejavacomm/purejavacomm.php

于 2013-08-24T22:15:02.330 回答
0

我也一直在尝试 rxtx 并且在我的应用程序中运行良好。rxtx是javax.comm下规范的实现

javax.comm 仍在规范中,但问题在于 com 端口在操作系统中的级别非常低。这就是您需要 rxtx 和 DLL / SO 文件的原因。

我经历了同样的愿望,但找不到真正完美的解决方案,我最终做的是为 Windows 提供 DLL(我的第一个用例)并决定等待,看看是否需要其他操作系统。

但是我能给你的最好的“建议”是:不要尝试编程太低级。我第一次尝试它并且它工作但不是一个伟大的架构。然后...我发现 Mina => http://mina.apache.org/ 它也使用 rxtx,但它通过提供一个完整的框架改变了您处理通信的方式。真的很棒,你应该试一试。

于 2013-07-15T09:51:49.863 回答