gpt4 book ai didi

java - Raspberry pi - java - 串行通信

转载 作者:太空狗 更新时间:2023-10-29 12:29:22 26 4
gpt4 key购买 nike

我的 Raspberry Pi(操作系统:Raspbian)和 Java (JDK-7-Armhf) 出现严重问题。如果不创建异常,我的代码将不会执行。我将阅读并尝试几个建议,但还没有任何效果。所以现在我对出了什么问题感到困惑..?所以它是这样的:我有一个可以在我的 Eclipes IDE 中运行的 Java 源代码。但是当我导出 .jar 文件时,即使使用库(JRE 系统 lib._86、JavaSE1.7、JAVAX.comm)作为“Runnabel JAR”或只是 .JAR 并在我的 Raspberry pi 上执行它,我得到了“NoCLassDefFoundExecption:SerialPortEventListener..!我只是不知道为什么,它不会找到图书馆并使用它..!在我的 Pi 上,我安装了 librxtx-java 和 JDK-7-oracle-armhf。librxtx-java 应该在安装时自行设置其 JAVA_PATH,但不确定是否正确完成!(我有一个文件夹/usr/jni,它包含:librxtxSerial.so 和/usr/lib/jvm/jdk-7-oracle-armhf/).

查看 Eclipse 中的库 Javax.RXTXcomm,我有 RXTXcomm.jar,它包含 SerialPortEventListener,所以它在 .jar 中定义。我在想,会不会是我的 Java JVM 和 linux 串行端口驱动程序之间缺少链接?我的 JRE 以某种方式工作,因为它将执行代码以读出主机名和 IP 地址。那么有人知道如何解决这个问题吗?

这是 Java 异常的读数:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPortEventListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: javax.comm.SerialPortEventListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more

A copy of my code. "SimpleRead.java" The original from java comm API samples

最佳答案

您必须在源代码中将引用从 javax.comm 更改为 gnu.io。

关于java - Raspberry pi - java - 串行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32288057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com