Проблема в том, что библиотека ядра datanucleus не может правильно инициализировать плагины, когда приложение объединено в один jar, а jar DataNucleus * находятся внутри jar приложения.
Я создал простой проект, чтобы продемонстрировать проблему - вы можете найти его здесь . В моем случае проблема в классе org.datanucleus.plugin.NonManagedPluginRegistry
, так как он не может найти файл plugin.xml, когда путь находится в форме jar:file:<path_to_app_jar>!/<path_inside_jar>!/plugin.xml
.
К сожалению, в проекте datanucleus-core нет исправления для этого.
Я исправил это, чтобы иметь возможность запускать мое приложение - не знаю, поможет ли это всем - но в случае, если кто-то захочет увидеть мое решение, проверьте мой форк . Исправление сделано на основе версии 3.2.13, поскольку более поздние из них изменили API, и Spark ожидает более старый (по крайней мере, в моем случае). Для сборки ядра данных с исправлением необходимо использовать Java 7.