我有一个在Eclipse中运行的应用程序。它使用RxTx代码访问串行端口。该应用程序使用CommPortIdentifier设置它添加到JComboBox的端口列表。这在Eclipse中都可以正常工作。
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为空时停止(除了我的None Selected)。你如何调试一个罐子?是不是以某种方式包含了RxTx库?
答案 0 :(得分:1)
如果在命令行控制台中使用命令java -jar <myjarfile.jar>
执行JAR文件,您将看到Eclipse中显示的控制台输出。
如果在加载RXTX时出现任何问题,您应该会收到错误消息,指出缺失或缺陷。
答案 1 :(得分:0)
问题已解决 - 我认为在将rxtxSerial.dll放入JDK的bin目录之后Eclipse完成了。直到我将相同的文件放在JRE的bin目录中时,Jar才起作用。