Java串口通信——Notepad與Eclipse之迷

配置:

操作系統:WIndows 7-64

java -version: java version "1.7.0_45"


串口通信第三方庫RXTX:

RXTXcomm.jar

rxtxSerial.dll

rxtxParallel.dll


要放置的位置:

Java\jre7\lib\ext     RXTXcomm.jar

Java\jdk1.7.0_45\jre\lib\ext     RXTXcomm.jar

Java\jre7\bin      rxtxSerial.dll rxtxParallel.dll


我這裏是缺一都會有問題:

1.缺 Java\jre7\lib\ext     RXTXcomm.jar


java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListener
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: gnu.io.SerialPortEventListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
Exception in thread "main"

並且原來的.class不能運行


2. 缺 Java\jdk1.7.0_45\jre\lib\ext     RXTXcomm.jar

port.java:30: 錯誤: 程序包gnu.io不存在
import gnu.io.*;
^
port.java:61: 錯誤: 找不到符號
private SerialPort selectPort;
       ^
  符號:   類 SerialPort
  位置: 類 port

......

但是原來的.class可以運行


如上都是notepad++

NPP_EXEC: "java"
NPP_SAVE: D:\Code\java\Port\src\port.java
javac port.java
Process started >>>
<<< Process finished. (Exit code 0)
java port
Process started >>> 

的結果


並且讓程序執行如下這段:

String arch = System.getProperty("sun.arch.data.model");
System.out.println(arch);

打印的結果是32

則jdk應該是32位的


Eclipse貌似自帶的都是64位JDK?

在Eclipse下無法運行。


待續...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章