我想创建一个与串行设备(手持式扫描仪)通信的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
答案 0 :(得分:3)
这是Java Communications API。你可以得到它here但它对你没有帮助。支持的平台是Solaris SPARC,Solaris x86和Linux x86。
对于Mac和Linux,如果已经配置了串口,则可以将/ dev / ttyS0,/ dev / ttyS1,/ dev / ttyS2等作为文件打开并对其进行读/写。在Windows上,如果已配置串行端口,则可以打开“COM1”,“COM2”等,并对其进行读写操作。
不幸的是,javax.comm(在参考实现中提供)不是跨平台的,因此您必须采用捆绑其他本机库和支持类或使用依赖于平台的方式来配置序列港口。在Windows上,这可能是“模式”命令,在Mac / Linux上,这可能是stty命令。
答案 1 :(得分:3)
我会推荐RXTX。它不使用javax.comm
包,但它遵循相同的API(带有一些有用的补充)。
E1:事实证明,RXTX 2.0确实使用javax.comm
包。您可以在同一个下载页面上找到它。