Using the class directly from the sonar-java plugin is not possible due to the isolated classloaders utilized by the plugins, as explained in the SonarQube docs.
Plugins are loaded in isolated classloaders. It means a plugin can’t access another plugin’s classes. There is an exception for package names following pattern org.sonar.plugins.<pluginKey>.api . For example, all classes in a plugin with the key myplugin that are located in org.sonar.plugins.myplugin.api are visible to other plugins.
In general, a plugin cannot access classes from another plugin, except for those that follow that specific package naming convention. Therefore, only the SonarQube API and classes from org.sonar.plugins.java.api.* are available to your plugin.