-->

RXTX不能列出在Ubuntu端口(RXTX can't list port on ubun

2019-10-17 20:40发布

我试图运行简单的代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import gnu.io.CommPortIdentifier; 
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent; 
import gnu.io.SerialPortEventListener; 
import java.util.Enumeration;


public class SerialTest implements SerialPortEventListener {
SerialPort serialPort;
private BufferedReader input;
private OutputStream output;
private static final int TIME_OUT = 2000;
private static final int DATA_RATE = 9600;

public void initialize() {
CommPortIdentifier portId = null;
Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();
while (portEnum.hasMoreElements()) {
CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
System.out.println( "a " + currPortId.getName());
}
}

public synchronized void close() {
//...
}

public synchronized void serialEvent(SerialPortEvent oEvent) {
// ...
}

public static void main(String[] args) throws Exception {
SerialTest main = new SerialTest();
main.initialize();
}
}

它应该在我的系统列出可用的COM端口。 我正在3.2.0-39泛型#62,Ubuntu的x86_64的x86_64的x86_64的GNU / Linux和Java 1.6

首先我从RXTX apt-get的库安装但经过一些麻烦我从源代码安装它,它仍然不起作用。 我做的所有tty搭配chmod 777 *,以确保这不是问题的权限。
我尝试这并不会帮助。

Answer 1:

你需要让你的类路径上的.so文件也是如此。

您可以从预先生成的二进制文件http://rxtx.qbang.org/wiki/index.php/Download不幸的是他们仅在32位可用。

如果你使用Eclipse,你可以只是下降的.so文件,在项目的根,它应该工作。 如果不工作,你可以尝试设置的java.library.path VM参数。 说明可用在如何设置Eclipse中的java.library.path



Answer 2:

我已经找到了64位版本librxtxSerial.so library 。 我测试了它和它的作品。

Donwload这个文件,并将其复制到/usr/lib folder



文章来源: RXTX can't list port on ubuntu