我有一個在Eclipse中運行的應用程序。它使用RxTx代碼訪問串行端口。應用程序使用CommPortIdentifier來設置它添加到JComboBox的端口列表。這在Eclipse中可以正常工作。Java應用程序在Eclipse中運行,但Jar無法找到串行端口
public void initArguments() {
String[] args = new String[3];
args[0] = "prot2prom.csv";
args[1] = "COM4";
args[2] = "Bank0";
Scanner scan = null;
Enumeration portList;
CommPortIdentifier portId;
String portName;
String target;
// Select The Serial Port
target = args[1];
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
portName = portId.getName();
portStrings.addItem(portName);
if(portName.equals(target)){
portStrings.setSelectedIndex(portStrings.getItemCount() - 1);
}
}
}
當我運行從JAR文件的應用程序,它運行沒有錯誤,但是當它使用串行端口和JComboBox可空攤位(除了我沒有選擇)。你如何調試Jar? RxTx庫是否包含在內?
我很想有一個答案接受! – mkstlwtz
當你運行你的jar文件時,rxtx.jar是否在classpath上?除非用空的catch塊壓制這些異常,否則應該會看到某種異常。 –
解決問題。在將rxtxSerial.dll放入JDK的bin目錄後,我認爲我完成了Eclipse的工作。在我將相同的文件放入JRE的bin目錄之前,Jar不工作。 – mkstlwtz