Лучшее решение, которое я нашел, это использование maven-jaxb2-plugin, тогда единственное, что вам нужно, это:
<!-- https://mvnrepository.com/artifact/org.jvnet.jaxb2.maven2/maven-jaxb2-plugin -->
<dependency>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.14.0</version>
</dependency>
Есть способ определить все загруженные в настоящее время собственные библиотеки, если вы это имели в виду. Невозможно определить уже выгруженные библиотеки.
На основе работы Светлина Накова ( Извлечь классы, загруженные в JVM, в отдельный JAR ), я сделал POC, который дает вам имена загруженных собственных библиотек из загрузчика классов приложения и загрузчика классов текущего class.
Сначала упрощенная версия без bu .... it обработки исключений, хороших сообщений об ошибках, javadoc, ....
Получить частное поле, в котором загрузчик классов хранит уже загруженные библиотеки через отражение
public class ClassScope {
private static final java.lang.reflect.Field LIBRARIES;
static {
LIBRARIES = ClassLoader.class.getDeclaredField("loadedLibraryNames");
LIBRARIES.setAccessible(true);
}
public static String[] getLoadedLibraries(final ClassLoader loader) {
final Vector<String> libraries = (Vector<String>) LIBRARIES.get(loader);
return libraries.toArray(new String[] {});
}
}
Назовите это так
final String[] libraries = ClassScope.getLoadedClasses(ClassLoader.getSystemClassLoader()); //MyClassName.class.getClassLoader()
И вуаля библиотеки
содержат имена загруженных собственных библиотек.
Получите полный исходный код из здесь