Problems with bluetooth binding

Hi everyone. A problem comes to me. I used to use the bluetooth binding following instrunctions here https://github.com/sputnikdev/eclipse-smarthome-bluetooth-binding, which is a 3rd party bluetooth binding. It works fine until I reinstall the openHAB 2.5.M5 on my Ubuntu using apt, however without uninstalling the old 2.4. Now when I tried to use the same bluetooth binding from eclipse market, I can add my bluetooth adapter and the binding can also automatically discover bluetooth devices. However when I tried to add one of my bluetooth devices as things, the following error comes.

1:57:14.781 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel online is linked although the handler was already disposed.
21:57:14.782 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel last-updated is linked although the handler was already disposed.
21:57:14.783 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel rssi is linked although the handler was already disposed.
21:57:14.784 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel tx-power is linked although the handler was already disposed.
21:57:14.784 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel estimated-distance is linked although the handler was already disposed.
21:57:14.785 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel adapter is linked although the handler was already disposed.
21:57:14.785 [WARN ] [e.core.thing.binding.BaseThingHandler] - Handler GenericBluetoothDeviceHandler of thing bluetooth:generic:A483E765CAD5 tried checking if channel location is linked although the handler was already disposed.
21:57:14.787 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘bluetooth:generic:A483E765CAD5’ changed from UNINITIALIZED to INITIALIZING
21:57:14.820 [INFO ] [smarthome.event.ThingUpdatedEvent ] - Thing ‘bluetooth:generic:A483E765CAD5’ has been updated.
21:57:14.823 [WARN ] [e.core.thing.binding.BaseThingHandler] - BaseThingHandler.initialize() will be removed soon, ThingStatus can be set manually via updateStatus(ThingStatus.ONLINE)
21:57:14.824 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘bluetooth:generic:A483E765CAD5’ changed from INITIALIZING to ONLINE
21:57:14.825 [ERROR] [rnal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.initialize()’ on ‘org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler@57806bfa’: thingRegistry
java.lang.NoSuchFieldError: thingRegistry
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler.access$000(GenericBluetoothDeviceHandler.java:29) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler$7.getValue(GenericBluetoothDeviceHandler.java:95) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler$7.getValue(GenericBluetoothDeviceHandler.java:90) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.SingleChannelHandler.init(SingleChannelHandler.java:119) ~[?:?]
at java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4649) ~[?:1.8.0_232]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.initChannelHandlers(BluetoothHandler.java:240) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.lambda$initialize$0(BluetoothHandler.java:60) ~[?:?]
at org.sputnikdev.bluetooth.manager.impl.CompletableFutureService.submit(CompletableFutureService.java:35) ~[?:?]
at org.sputnikdev.bluetooth.manager.impl.CombinedDeviceGovernorImpl.when(CombinedDeviceGovernorImpl.java:224) ~[?:?]
at org.sputnikdev.bluetooth.manager.BluetoothGovernor.whenReady(BluetoothGovernor.java:135) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.initialize(BluetoothHandler.java:59) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler.initialize(GenericBluetoothDeviceHandler.java:140) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_232]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_232]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_232]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_232]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]
21:57:14.836 [ERROR] [.core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing ‘bluetooth:generic:A483E765CAD5’: thingRegistry
java.lang.NoSuchFieldError: thingRegistry
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler.access$000(GenericBluetoothDeviceHandler.java:29) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler$7.getValue(GenericBluetoothDeviceHandler.java:95) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler$7.getValue(GenericBluetoothDeviceHandler.java:90) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.SingleChannelHandler.init(SingleChannelHandler.java:119) ~[?:?]
at java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4649) ~[?:1.8.0_232]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.initChannelHandlers(BluetoothHandler.java:240) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.lambda$initialize$0(BluetoothHandler.java:60) ~[?:?]
at org.sputnikdev.bluetooth.manager.impl.CompletableFutureService.submit(CompletableFutureService.java:35) ~[?:?]
at org.sputnikdev.bluetooth.manager.impl.CombinedDeviceGovernorImpl.when(CombinedDeviceGovernorImpl.java:224) ~[?:?]
at org.sputnikdev.bluetooth.manager.BluetoothGovernor.whenReady(BluetoothGovernor.java:135) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.BluetoothHandler.initialize(BluetoothHandler.java:59) ~[?:?]
at org.sputnikdev.esh.binding.bluetooth.handler.GenericBluetoothDeviceHandler.initialize(GenericBluetoothDeviceHandler.java:140) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_232]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_232]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_232]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_232]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]
21:57:14.836 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘bluetooth:generic:A483E765CAD5’ changed from ONLINE to UNINITIALIZED (HANDLER_INITIALIZING_ERROR): thingRegistry

I think the NoSuchFieldError is generated because of the version conflict of maven bundle, as far as what I googled. How can I solve it and what is the real reason for this problem?

Using the thingRegistry was deprecated and has been removed. The bundles needs to be updated.

Thanks!

So this would require that the author of the binding ( @vkolotov ) updates the code?

Exactly. It would have been solved if the binding would have been in the official repo.