Ich versuche, ein einfaches Xbee-Beispiel auf meinem Raspberry Pi 3 arbeiten, mit dem XBee Java Lib und seinem Tutorial, aber ich möchte es ausführen, bevor Sie es in eine .jar-Datei transformieren. Ich möchte es einfach als .class Datei ausführen, sehr einfach, danach möchte ich es in ein anderes Projekt importieren. (Ich bin nicht gut mit Java, wie es möglich ist, zu sehen) Nach dem Kompilieren ich versuchte, es so auszuführen:XBee mit der Java Lib auf Raspberry Pi
java -cp $XBJL_CLASS_PATH:. com.digi.xbee.example.MainApp
meine echo $XBJL_CLASS_PATH
ist:
libs/xbee-java-library-1.2.1.jar:libs/rxtx-2.2.jar:libs/slf4j-api-1.7.12.jar:libs/slf4j-nop-1.7.12.jar:libs/android-sdk-5.1.1.jar:libs/android-sdk-addon-3.jar
Das bedeutet, alle .jar verfügbar zu Verwendung von der XBee Java Lib.
es nicht work.I've auch gerade versucht:
java com.digi.xbee.example.MainApp
Und ich bin immer die gleichen Fehler:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: com/digi/xbee/api/XBeeDevice
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: com.digi.xbee.api.XBeeDevice
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Weiß jemand, was happenning werden könnte? Es heißt, dass ich das XBeeDevice, das ich tat, nicht importierte, das libs/xbee-java-library-1.2.1.jar
importierte.
PS: Der Code beginnt mit diesem:
package com.digi.xbee.example;
import com.digi.xbee.api.WiFiDevice;
import com.digi.xbee.api.XBeeDevice;
import com.digi.xbee.api.exceptions.XBeeException;
import com.digi.xbee.api.models.XBeeProtocol;
public class MainApp {
/* Constants */
// TODO Replace with the port where your sender module is connected to.
private static final String PORT = "/dev/ttyAMA0/";
// TODO Replace with the baud rate of your sender module.
private static final int BAUD_RATE = 9600;
private static final String DATA_TO_SEND = "Hello XBee World!";
public static void main(String[] args) {
XBeeDevice myDevice = new XBeeDevice(PORT, BAUD_RATE);
byte[] dataToSend = DATA_TO_SEND.getBytes();
try {
myDevice.open();
System.out.format("Sending broadcast data: '%s'", new String(dataToSend));
if (myDevice.getXBeeProtocol() == XBeeProtocol.XBEE_WIFI) {
myDevice.close();
myDevice = new WiFiDevice(PORT, BAUD_RATE);
myDevice.open();
((WiFiDevice)myDevice).sendBroadcastIPData(0x2616, dataToSend);
} else
myDevice.sendBroadcastData(dataToSend);
System.out.println(" >> Success");
} catch (Exception e) {
System.out.println(" >> Error");
e.printStackTrace();
System.exit(1);
}
finally {
myDevice.close();
}
}
}
Vielen Dank im Voraus.