我有一個Java程序在運行時連接到COM端口。我只有一個.JAR文件。我最近試圖從程序運行的機器移動到另一臺機器上。我知道串口設備可以在新機器上運行,因爲我可以通過一個名爲Putty的程序與它們進行交互。當我執行.JAR文件時,它似乎運行得很好,但無法連接到com端口。這可能是安裝在另一臺機器的JRE中的缺少的庫嗎?我如何弄清楚什麼是缺少的程序運行?將Java JAR文件移動到新機器
1
A
回答
3
是的,這很可能是問題所在。 Java中的傳統端口(並行和串行端口)支持由Java Communications API提供,它依賴本機代碼來支持對這些端口的低級訪問。該API是JDK的擴展,而不是其中的一部分。
當然,也可能是在新機器上運行程序的用戶沒有訪問端口的權限,這是一個不同的問題。
編輯:對於傳統端口的跨平臺支持,即使你只打算在一個平臺上使用你的程序,我推薦,一個JavaComm的開源替代品。
1
打開jar文件,查看META-INF/MANIFEST.MF文件,看它是否指定了任何jar依賴項。 如果不是,則JAR可能使用某些本地庫連接到COM端口。
0
對Java使用串行端口通常涉及將已編譯的本地(.so或.dll)文件添加到LD_LIBRARY_PATH中。
我覺得你使用Linux,所以找了一個原來的機器上稱爲librxtxSerial.so文件(它會在Windows上被稱爲rxtxSerial.dll)
庫路徑的設置很少的方法,但你最好的選擇是在原始的Java安裝中檢查這個文件:
eg /jre/lib/i386/librxtxSerial.so
另一件需要注意的是rxtx jar本身(這可能已經捆綁在你的jar中,或者可能不是)。
只需按照RXTX網站上的說明操作,您可能會獲得更好的結果,但我會嘗試先理解原始安裝。
http://rxtx.qbang.org/wiki/index.php/Installation
祝你好運!
相關問題
- 1. 將AsyncTask移動到一個新文件
- 2. 將.jar文件添加到React本機
- 3. 移動到另一個位置時Java jar文件不工作
- 4. 將文件從Docker容器移動到Jenkins的主機系統
- 5. 移動CVS倉庫到新的機器
- 6. 將文件移動到服務器
- 7. Java隨機移動一個文件
- 8. 在Eclipse中將jar移動到libs文件夾
- 9. 將.jar文件添加到移動電話上錯誤
- 10. 啓動Java jar文件
- 11. Java - 如何將文件移動到zip文件中?
- 12. 如何將.jar文件手動添加到java項目
- 13. android手機到移動文件傳輸
- 14. 將解鎖文件移動到新文件夾的程序
- 15. AppleScript將每個文件移動到新文件夾中
- 16. 如何將新的jar文件動態加載到JavaVM中
- 17. 將Django 1.6移動到新服務器
- 18. 將軟件遷移到Ubuntu中的新機器
- 19. 將文件重命名後將文件移動到新文件夾
- 20. 如何將2個csv文件從本地機器移動到遠程機器(都是Windows機器)?
- 21. 將jar庫添加到jar文件中
- 22. 如何將java類添加到jar文件中的文件夾
- 23. Java - 以編程方式將文件追加到Jar文件
- 24. Java applet,將jar文件添加到清單文件
- 25. 臨時移動SQL Server的MDF文件到新的驅動器位置,將其移回原來的驅動器
- 26. 根據文件數量將文件從文件夾移動到新文件夾
- 27. 隨機將文件從一個文件夾移動到另一個文件夾?
- 28. Eclipse自動下載/更新JAR文件
- 29. Java:更新jar文件時加載類
- 30. 將生成的PDF移動到網絡驅動器上的新文件夾