GPIO - java.lang.NoSuchFieldError: device_reference
GPIO - java.lang.NoSuchFieldError: device_reference
我接手了一个项目,其中涉及 java 在定制板上设置 GPIO 引脚的程序。
- Linux:使用 yocto 构建,版本 4.9.59
- Java:zulu 嵌入式,openjdk 版本“1.8.0_131”。
- libdio.so 是 KURA_3.1.0.
的一部分
正在呼叫...
GPIOPinConfig config = new GPIOPinConfig(DeviceConfig.DEFAULT,
pinNumber, 0, 1, 3, false);
GPIOPin pin = getPin(config);
我明白了……
Exception in thread "main" java.lang.NoSuchFieldError: device_reference
at com.oracle.dio.gpio.impl.GPIOPinImpl.openPinByConfig0(Native Method)
at com.oracle.dio.gpio.impl.GPIOPinImpl.<init>(GPIOPinImpl.java:63)
at com.oracle.dio.gpio.impl.GPIOPinFactory.create(GPIOPinFactory.java:47)
at com.oracle.dio.gpio.impl.GPIOPinFactory.create(GPIOPinFactory.java:38)
at jdk.dio.DeviceManager.openWithConfig(DeviceManager.java:290)
at jdk.dio.DeviceManager.open(DeviceManager.java:273)
at jdk.dio.DeviceManager.open(DeviceManager.java:209)
原来我的类路径上有 jdk.dio-1.0.300.jar
。
当我将其更改为 jdk.dio-1.0.100.jar
时,错误消失了。
我接手了一个项目,其中涉及 java 在定制板上设置 GPIO 引脚的程序。
- Linux:使用 yocto 构建,版本 4.9.59
- Java:zulu 嵌入式,openjdk 版本“1.8.0_131”。
- libdio.so 是 KURA_3.1.0. 的一部分
正在呼叫...
GPIOPinConfig config = new GPIOPinConfig(DeviceConfig.DEFAULT,
pinNumber, 0, 1, 3, false);
GPIOPin pin = getPin(config);
我明白了……
Exception in thread "main" java.lang.NoSuchFieldError: device_reference
at com.oracle.dio.gpio.impl.GPIOPinImpl.openPinByConfig0(Native Method)
at com.oracle.dio.gpio.impl.GPIOPinImpl.<init>(GPIOPinImpl.java:63)
at com.oracle.dio.gpio.impl.GPIOPinFactory.create(GPIOPinFactory.java:47)
at com.oracle.dio.gpio.impl.GPIOPinFactory.create(GPIOPinFactory.java:38)
at jdk.dio.DeviceManager.openWithConfig(DeviceManager.java:290)
at jdk.dio.DeviceManager.open(DeviceManager.java:273)
at jdk.dio.DeviceManager.open(DeviceManager.java:209)
原来我的类路径上有 jdk.dio-1.0.300.jar
。
当我将其更改为 jdk.dio-1.0.100.jar
时,错误消失了。