Я задавал эти вопросы уже здесь:
https://www.eclipse.org/forums/index.php/t/1098133/
Теперь, через 3 недели, я надеюсь, что мне повезет получить ответ здесь в stackoverflow.
У меня есть приложение RCP, использующее MOXy для анализа сложного XML, аннотированные классы создаются XJC, а пакет содержит ObjectFactory и jaxb.properties, указывающие на MOXy.
Проблема: Приложение работает с Java8, но, запустив приложение с Java11, я получаю следующее исключение:
java.lang.RuntimeException: javax.xml.bind.JAXBException
- with linked exception:
[Exception [EclipseLink-50000] (Eclipse Persistence Services - 2.7.4.v20190115-ad5b7c6b2a): org.eclipse.persistence.exceptions.JAXBException
Exception Description: The context path mypackage contains no ObjectFactory or jaxb.index, no external metadata was found in properties Map, and sessions.xml was found or was invalid.
Internal Exception: Exception [EclipseLink-7095] (Eclipse Persistence Services - 2.7.4.v20190115-ad5b7c6b2a): org.eclipse.persistence.exceptions.ValidationException
Exception Description: The sessions.xml resource [sessions.xml] was not found on the resource path. Check that the resource name/path and classloader passed to the SessionManager.getSession are correct. The sessions.xml should be included in the root of the application's deployed jar, if the sessions.xml is deployed in a sub-directory in the application's jar ensure that the correct resource path using "/" not "\" is used.]
Моя целевая платформа содержит:
- org.eclipse.persistence.moxy_2.7.4 .... баночка
- JAXB-OSGi-2.3.2.jar
- jakarta.activation.jar
- jakarta.xml.bind-api.jar
Я использую Multi-Release: true, чтобы иметь возможность обрабатывать Java8 против Java9 +.
В основном MANIFEST.FM мне требуется org.eclipse.persistence.moxy.
В версии / 9 / OSGI-INF / MANIFEST.FM я добавляю пакеты импорта: com.sun.xml.bind.v2, javax.xml.bind
Чтобы запустить приложение в диалоговом окне конфигурации запуска Eclipse, я переключаю JRE Java8 против Java11, а на вкладке подключаемых модулей удаляю (J8) или добавляю (J11) com.sun.xml.bind.jaxb-osgi ( jaxb-osgi.jar), чтобы сделать его запускаемым.
Может кто-нибудь помочь?
С уважением
Frank