当前位置: 首页 > 知识库问答 >
问题:

需要帮助以获得库xtxSerial.jnilib到可运行的jar文件

姚胡媚
2023-03-14
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("/dev/cu.usbserial-FTCC026H")) {
                 System.out.println("Connecting.....");
        //                if (portId.getName().equals("/dev/term/a")) {
                 ReadReadings reader = new ReadReadings();
             }
        }
    }
}
public ReadReadings() {
    try {
        serialPort = (SerialPort) portId.open("ReadReadings", 1000);
    } catch (PortInUseException e) {System.out.println(e);}
    try {
        inputStream = serialPort.getInputStream();
    } catch (IOException e) {System.out.println(e);}
try {
        serialPort.addEventListener(this);
} catch (TooManyListenersException e) {System.out.println(e);}
    serialPort.notifyOnDataAvailable(true);
    try {
        serialPort.setSerialPortParams(9600,
            SerialPort.DATABITS_8,
            SerialPort.STOPBITS_1,
            SerialPort.PARITY_NONE);
        try {
            inputStream = serialPort.getInputStream();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();serialPort.close();
        }
        br = new BufferedReader(new InputStreamReader(inputStream));

    } catch (UnsupportedCommOperationException e) {System.out.println(e);}

    readThread = new Thread(this);
    readThread.start();
}

public void run() {
    try {
        Thread.sleep(10000);
       if(inputStream != null)
        {
            serialPort.close();
            try {
                inputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            serialPort.close();
            ConnectToHardware.frame.dispose();
        frame = new DisplayReadings();
        //frame.pack();
        frame.setVisible(true);

        }

    } catch (InterruptedException e) {System.out.println(e);serialPort.close();} 
}
public void serialEvent(SerialPortEvent event) {
    switch(event.getEventType()) {
    case SerialPortEvent.BI:
    case SerialPortEvent.OE:
    case SerialPortEvent.FE:
    case SerialPortEvent.PE:
    case SerialPortEvent.CD:
    case SerialPortEvent.CTS:
    case SerialPortEvent.DSR:
    case SerialPortEvent.RI:
    case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
        break;
    case SerialPortEvent.DATA_AVAILABLE:
       // byte[] readBuffer = new byte[1024];
       // String temp = "";

        try {
            String inputLine=br.readLine();

            series.put(num, inputLine);
            num++;
            System.out.println(inputLine);

        }

        catch (IOException e) {System.out.println(e);}
        break;
    }


}
}

我需要创建我的项目的可运行jar文件,其中包括3个类,外部rxtx库和librxtxSerial。项目中的jnilib。但是在创建可运行的jar文件时,这个librxtxSerial。中的jnilib文件不包括在jar文件中。我认为这就是运行jar文件时无法获得输出的原因。

共有1个答案

锺离锦
2023-03-14

JNI库由操作系统加载。因此,它们不能直接从jar文件加载。它们是从文件系统加载的(有关详细信息,请参阅java.load.path)。

您可以尝试在您的java代码中集成一个安装程序,它在加载本机代码之前将lib从jar文件复制到文件系统中。

 类似资料:
  • 问题内容: 我有以下示例字符串 我只对 test6IAmInterestedIn 感兴趣,它位于第四个斜杠之后,可以包含3个字符,多个字母并以3个数字结尾,即。 我想在上述正则表达式中添加的内容是,我总是在匹配的第四个斜杠之后选择字符串。我该怎么办? 问题答案: 你可以试试这个演示 哪里 匹配包含正斜杠的4个块 捕捉您想要的图案

  • 主要内容:1. 访问帮助手册,2. 有关特定主题的帮助,3. 在手册中搜索帮助短语,4. 访问在线帮助Vim是功能丰富的编辑器,因此记住它的所有功能是有一定的困难的。 但是也不需要担心,因为总是可以寻求帮助。而这个帮助是由Vim本身提供的。 在本章中,将讨论以下主题内容 - 访问帮助手册 有关特定主题的帮助 在手册中搜索帮助短语 访问在线帮助 1. 访问帮助手册 Vim编辑器本身附带了帮助手册,它非常全面。 要访问帮助可执行以下命令 - 如下图所示: 2. 有关特定主题的帮助 帮助手册将显示有关

  • 你可以从以下渠道获得关于pact的帮助: Google用户群组: https://groups.google.com/forum/ Gitter: 加入 https://gitter.im/realestate-com-au/pact 和 https://gitter.im/DiUS/pact-jvm 的交流

  • 我们非常有兴趣在Envoy周围建立一个社区。如果您有兴趣使用它,需要帮助或想贡献,请联系我们。 请参阅联系信息 报告安全漏洞 请参阅安全联系信息

  • 作者不是太忙(并且心情不错)的话,会回答一般性的脚本编程问题。但是,如果你的特定应用的脚本不工作,建议你最好把问题发到comp.os.unix.shell新闻组去.

  • 作者(邮件:thegrendel.abs@gmail.com)不再维护或者更新这份文档。他不会回答关于这本书或者一般脚本主题的任何问题。 如果你的课程作业需要帮助的话,请阅读相关的章节以及其它的参考书籍。 尽你最大的能力、使用你的智慧和资源去解决问题。 请不要浪费作者的时间。你不会获得任何帮助和同情。[1] 同样的,友善地拒绝对于作者的恳求,提供工作机会或者商业机会。 他活的很好,不需要帮助或者同