0

我想制作一个与串行设备(手持扫描仪)通信的 java 应用程序,以便该应用程序独立于平台。我找到了一些代码示例,当我将它们复制到 Eclipse 中时,它说 javax.comm.* 丢失了。如何在我的 Mac 上安装它?以及如何将此库添加到我的应用程序中,以便用户不必安装任何东西?

我希望能够给用户一个 jar 文件和设备,他们应该能够在 windows/Mac/Linux 上运行它而无需很少或没有配置。

我找到了一个可以下载 javax.comm.jar 文件的下载,但下载包含一个 win32comm.dll,它依赖于某些方式 - 至少这是我在将 jar 文件添加到我的项目时遇到的错误。

Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path
4

2 回答 2

3

这是 Java 通信 API。你可以在这里得到它,但它不会帮助你。支持的平台是 Solaris SPARC、Solaris x86 和 Linux x86。

对于 Mac 和 Linux,如果已经配置了串口,您可以将 /dev/ttyS0、/dev/ttyS1、/dev/ttyS2 等作为文件打开并对其进行读/写。在 Windows 上,如果串行端口已经配置,您可以打开“COM1”、“COM2”等并对其进行读写。

不幸的是,javax.comm(在参考实现中提供)不是跨平台的,因此您必须求助于捆绑额外的本机库和支持类,或者使用依赖于平台的方式来配置串行端口。在 Windows 上,这可能是“mode”命令,而在 Mac/Linux 上,这可能是 stty 命令。

于 2011-11-06T22:59:06.567 回答
3

我会推荐RXTX。它不使用javax.comm包,但它遵循相同的 API(有一些有用的补充)。

E1:事实证明,RXTX 2.0 确实使用了该javax.comm软件包。您可以在同一下载页面上找到它。

于 2011-11-06T23:27:38.350 回答