2011-11-06 39 views
0

我想製作一個與串行設備(手持掃描儀)通信的java應用程序,以便應用程序獨立於平臺。 我找到了幾個代碼示例,當我將它們複製到Eclipse中時,它說缺少了javax.comm。*。 如何在我的Mac上安裝? 如何將這個庫添加到我的應用程序,以便用戶不必安裝任何東西?在mac上添加javax.comm API

我希望能夠給用戶一個jar文件和設備,他們應該能夠在windows/Mac/Linux上運行而不需要很少或沒有配置。

我發現了一個下載,我可以下載一個javax.comm.jar文件,但是下載的內容包含一個win32comm.dll,它依賴於某些方法 - 至少這是我在將jar文件添加到項目時得到的錯誤。

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

回答

2

這是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命令。

+0

所以實際上沒有平臺獨立的方式與串口通信? – lmkk

+0

我沒有那麼說。只是javax.comm/Java Communications API的參考實現不是平臺獨立的。在J2SE API中,沒有與串口通信的平臺獨立方式。 – user314104

2

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

E1:事實證明,RXTX 2.0確實使用了javax.comm包。你可以在同一個下載頁面找到它。