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

コマンドラインコンソール内でコマンドを使用してJARファイルを実行するjava -jar <myjarfile.jar>と、Eclipseに示すようなコンソール出力が表示されます。

RXTXのロード中に問題が発生した場合は、何が欠落しているか、または欠陥があるかを示すエラーメッセージが表示されます。

于 2012-10-11T08:25:13.573 に答える
0

問題は解決しました - rxtxSerial.dll を JDK の bin ディレクトリに配置した後、Eclipse が動作するようになったとき、完了したと思いました。JRE の bin ディレクトリに同じファイルを配置するまで、Jar は機能しませんでした。

于 2012-10-12T01:30:31.947 に答える