java.lang.NoSuchFieldError错误

最近在开发niagara的海康摄像头的module,开发环境是niagara3.7,运行环境是niagara3.8(也怪自己懒,没有迁移)。编译通过,生成了module,但是一运行就报“java.lang.NoSuchFieldError”错误,字面意思就是说VidFrame没有rawData这个字段。

首先我通过反射打印出所有的属性名,有这个属性啊。又上网搜索,发现有人说可能是编译环境和运行环境依赖的库不一样,赶紧查看。果然,找到问题了,3.8中VidFrame的rawData是javax.baja.nre.util.ByteBuffer类型,而3.7中则是javax.baja.io.ByteBuffer类型。

其实如果打印出所有属性的类型,这个错误应该能更早发现的。

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