簡體   English   中英

將Java JAR文件移動到新計算機

[英]Moving a Java JAR file to a new machine

我有一個Java程序,它在運行時連接到COM端口。 我只有一個.JAR文件。 我最近試圖將其從程序運行的機器移動到另一台機器。 我知道串口設備可以在新機器上工作,因為我可以通過一個名為Putty的程序與它們進行交互。 當我執行.JAR文件時,它出現並且似乎運行得很好,但是無法連接到com端口。 這可能是安裝在另一台機器的JRE中的缺失庫嗎? 我如何找出使這個程序運行的缺失?

是的,很可能是問題所在。 Java通信端口(並行和串行端口)支持由Java Communications API提供 ,它依賴於本機代碼來支持對這些端口的低級訪問。 該API是JDK的擴展,而不是它的一部分。

當然也可能是在新機器上運行程序的用戶沒有訪問端口的權限,這是一個不同的問題。

編輯:對於遺留端口的跨平台支持,即使您只打算在一個平台上使用您的程序,我也推薦使用RXTX ,它是JavaComm的開源替代品。

打開jar,查看META-INF / MANIFEST.MF文件以查看它是否指定任何jar依賴項。 如果沒有,JAR可能正在使用一些本機庫連接到COM端口。

將串行端口與Java一起使用通常需要將已編譯的本機(.so或.dll)文件添加到LD_LIBRARY_PATH。

我認為你正在使用Linux,所以在原始機器上尋找一個名為librxtxSerial.so的文件(它在Windows上被稱為rxtxSerial.dll)

庫路徑可以通過幾種方式設置,但最好的辦法是在原始Java安裝中檢查此文件:

例如/jre/lib/i386/librxtxSerial.so

需要注意的另一件事是rxtx jar本身(這可能已經捆綁在你的jar中,或者可能沒有)。

只需按照RXTX網站上的說明即可獲得更好的結果,但我會首先嘗試了解原始安裝。

http://rxtx.qbang.org/wiki/index.php/Installation

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM