EclipseLink Moxy с Java11 - PullRequest
       43

EclipseLink Moxy с Java11

1 голос
/ 11 апреля 2019

Я задавал эти вопросы уже здесь: 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

...