Java应用程序在Eclipse中运行,但Jar找不到串行端口

Java应用程序在Eclipse中运行,但Jar找不到串行端口,java,eclipse,rxtx,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";

我有一个在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除外)。如何调试Jar?RxTx库不知何故没有包括在内吗?

如果在命令行控制台中使用命令
java-JAR
执行JAR文件,您将看到控制台输出,如Eclipse所示


如果在加载RXTX时出现任何错误,您应该会看到错误消息,指示缺少什么或有什么缺陷。

如果在命令行控制台中使用命令
java-JAR
执行JAR文件,您将看到控制台输出,如Eclipse所示


如果在加载RXTX时出现任何错误,您应该会看到错误消息,指示缺少什么或有什么缺陷。

问题已解决-我认为我是在Eclipse将rxtxSerial.dll放入JDK的bin目录后工作时完成的。直到我将同一个文件放在JRE的bin目录中,Jar才开始工作。

问题解决了-我认为当Eclipse将rxtxSerial.dll放在JDK的bin目录中后,我就完成了工作。直到我把同一个文件放到JRE的bin目录中,Jar才开始工作。

我希望有一个答案可以接受!运行jar文件时,rxtx.jar是否实际位于类路径上?除非用空的catch块抑制这些异常,否则应该会看到某种异常。问题已解决。当Eclipse将rxtxSerial.dll放入JDK的bin目录后工作时,我认为我已经完成了。直到我把同一个文件放到JRE的bin目录中,Jar才开始工作。我希望有一个答案可以接受!运行jar文件时,rxtx.jar是否实际位于类路径上?除非用空的catch块抑制这些异常,否则应该会看到某种异常。问题已解决。当Eclipse将rxtxSerial.dll放入JDK的bin目录后工作时,我认为我已经完成了。直到我将同一个文件放在JRE的bin目录中,Jar才起作用。修改JDK是一种糟糕的风格,每次JDK更新都要一次又一次地修改。修改JDK是一种糟糕的风格,每次JDK更新都要一次又一次地修改。