Java Application在Eclipse中运行,但Jar无法找到串行端口

时间:2012-10-11 05:42:44

标签: java eclipse rxtx

我有一个在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库?

2 个答案:

答案 0 :(得分:1)

如果在命令行控制台中使用命令java -jar <myjarfile.jar>执行JAR文件,您将看到Eclipse中显示的控制台输出。

如果在加载RXTX时出现任何问题,您应该会收到错误消息,指出缺失或缺陷。

答案 1 :(得分:0)

问题已解决 - 我认为在将rxtxSerial.dll放入JDK的bin目录之后Eclipse完成了。直到我将相同的文件放在JRE的bin目录中时,Jar才起作用。