1

我有一个在 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 )。你如何调试一个 Jar?RxTx 库是否不包括在内?

4

2 回答 2

1

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

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

于 2012-10-11T08:25:13.573 回答
0

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

于 2012-10-12T01:30:31.947 回答