Since the Raspberry Pi 3, a Bluetooth chip that supports BLE 4.1 has been present on the board. Using Bluetooth from Java can be a challenging thing to do. The latest specification of Bluetooth integration is from the JSR (Java Specification Request)-82 from 2010, which is version 4, and is implemented in J2ME (Java 2 Micro Edition). Although this specification is implemented in J2ME, there are libraries available that provide this specification, although not completely, for J2SE. One of these libraries is called BlueCove.
BlueCove tries to comply with the JSR-82 specification published in 2010. Initial support from BlueCove is for non-ARM based devices. To be able to use Bluetooth on ARM-based devices such as the Raspberry Pi, we will need to create the necessary libraries ourselves or we can use pre-built libraries. The download already contains the libraries we need...