java.lang.NoClassDefFoundError: com / sun / xml / bind / IDResolver - PullRequest
0 голосов
/ 20 июня 2019

У нас есть приложение Java, разработанное в Eclipse.Мы используем одобренную папку, которая содержит зависимость jaxb ниже jars

jaxb-api-2.2.11.jar 
jaxb-core-2.2.11.jar 
jaxb-impl-2.2.11.jar
jaxb-jxc-2.2.11.jar 
jaxb-xjc-2.2.11.jar 

Чтобы указывать на эти jar-файлы во время выполнения, мы обновили путь к утвержденной папке в INI-файле приложения, например -Djava.endorsed.dirs=./endorsed.Наше приложение будет установлено в C:\Program Files, и мы поместили одобренную папку в папку приложения.

Это работает нормально на некоторых виртуальных машинах, но видит java.lang.NoClassDefFoundError на нескольких виртуальных машинах.

Я попробовал несколько ниже упомянутых вещей:

  1. Создана переменная среды _JAVA_OPTIONS и указанная подтвержденная папка: То же самое java.lang.NoClassDefFoundError замечено.

  2. Создана переменная среды _JAVA_OPTIONS и указанная подтвержденная папка после перемещения утвержденной папки за пределы C:\Program Files что-то вроде C:\temp\endorsed: . Эта проблема решена.

В чем может быть причина этого? В некоторых виртуальных машинах JVM может выбрать jar из одобренной папки, даже если она находится в C: \ Program Files, тогда как вна некоторых устройствах JVM не может выбрать файлы из одобренной папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...