使用java加载串行端口共享库时出错

使用java加载串行端口共享库时出错,java,serial-port,serial-communication,javax.comm,Java,Serial Port,Serial Communication,Javax.comm,我必须发送数据到串行端口,javax.comm也包括在内,但它给出了错误 “捕获到java.lang.UnsatisfiedLinkError:加载驱动程序gnu.io.RXTXCommDriver时,java.library.path中没有rxtxSerial 加载SolarisSerial时出错:java.lang.UnsatifiedLink错误:java.library.path中没有SolarisSerialParallel 加载驱动程序com.sun.comm.SolarisDriv

我必须发送数据到串行端口,javax.comm也包括在内,但它给出了错误 “捕获到java.lang.UnsatisfiedLinkError:加载驱动程序gnu.io.RXTXCommDriver时,java.library.path中没有rxtxSerial 加载SolarisSerial时出错:java.lang.UnsatifiedLink错误:java.library.path中没有SolarisSerialParallel 加载驱动程序com.sun.comm.SolarisDriver时捕获到java.lang.unsatifiedlinkerror:com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)I“

我访问了stackoverflow中所有串行端口数据读写相关问题,但没有找到任何解决方案

你能帮帮我吗

代码如下:

package serial;
import java.io.*;
import java.util.*;
import javax.comm.SerialPort;
import javax.comm.CommPortIdentifier;
import javax.comm.UnsupportedCommOperationException;
import javax.comm.PortInUseException;

public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "Hello, world!\n";
static SerialPort serialPort;
static OutputStream outputStream;

public static void main(String[] args) {
    portList = CommPortIdentifier.getPortIdentifiers();

    while (portList.hasMoreElements()) {
        portId = (CommPortIdentifier) portList.nextElement();
        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
             if (portId.getName().equals("COM6")) {
            //if (portId.getName().equals("/dev/term/a")) {
                try {
                    serialPort = (SerialPort)
                        portId.open("SimpleWriteApp", 2000);
                } catch (PortInUseException e) {}
                try {
                    outputStream = serialPort.getOutputStream();
                } catch (IOException e) {}
                try {
                    serialPort.setSerialPortParams(9600,
                        SerialPort.DATABITS_8,
                        SerialPort.STOPBITS_1,
                        SerialPort.PARITY_NONE);
                } catch (UnsupportedCommOperationException e) {}
                try {
                    outputStream.write(messageString.getBytes());
                } catch (IOException e) {}
            }
        }
    }
}

}

确保已设置串行库的库路径。试试这个

java -Djava.library.path=C:\java_comm\lib SimpleWrite 

您似乎正在运行32位版本的Netbeans和(扩展)Java。因此,请确保您有相应的32位版本的rxtxserial,可以找到

您是否设置了库路径的位置?我将新的javax.comm库放在C:\java\u comm\lib中,netbeans安装在C:\Program Files(x86)中\NetBeans 7.0.1但我在项目属性中添加了库,也没有将项目文件夹放入C:\java\u comm\lib文件夹,但错误是一样的,请帮助,我知道您很忙,但您给了我一些时间,我非常感谢您使用32位
rxtxSerial.dll
(看起来您使用的是32位NetBeans+JDK)?先生,您提供您的电子邮件地址,我向您发送文件,您检查它是否为32位。我下载了它并将其添加到库中,库中没有提到任何关于32位或64位的信息,这不是
的工作方式。这是一个问答网站。现在回到图书馆-没有简单的方法来检查图书馆,所以最快的方法就是重新下载相应的图书馆-查看链接addedI在经过很多努力后下载了它,请发送链接给我/