Windows 下 RXTX 串口通訊正常,移植至樹莓派 (Linux raspberrypi, /dev/ttyAMA0) 後,CommPortIdentifier.getPortIdentifiers() 回傳空列表,直接指定端口名拋出 NoSuchPortException。環境:Root 權限運行 Jar,RXTX 從源碼編譯安裝,xgcom 工具可正常收發。
librxtxSerial.so 是否在 java.library.path 指定目錄(如 /usr/lib/jni),且架構匹配 (ARM)。/dev/ttyAMA0 存在且屬於 dialout 群組。/etc 或 classpath 下提供 javax.comm.properties,內容指定驅動類:
Driver=gnu.io.RXTXCommDriver
RXTX 維護停滯,推薦改用 jSerialComm:純 Java 實現,無原生庫依賴,跨平台穩定,API 更現代。Maven 坐標:com.fazecast:jSerialComm:2.10.4。