Я получаю NoClassDefFoundError для класса, который существует в rt.jar Oracle, но, похоже, не существует в rt.jar WebSphere.WebSphere NoClassDefFoundError для Oracle Класс Java
java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/NodeSet
Мое понимание WebSphere является то, что родные классы Java должны существовать в установке Java WebSphere, но это не кажется так.
Странно, что это работает в одной среде и не работает в другом, но ни один из файлов rt.jar не имеет класса NodeSet. Я бы подумал, что это тоже не сработает, так как у обоих есть переменная среды JAVA_HOME WebSphere, установленная в java-папку WebSphere.
Есть ли у кого-нибудь идеи, что может происходить здесь? Использует ли WebSphere только путь java в переменной среды WebSphere? Или он также использует переменные среды сервера?
Знаете ли вы, что пытается загрузить это? Ваш собственный код или какая-либо другая библиотека в вашем приложении? Может быть, кто-то может помочь найти альтернативу. Может быть, трассировка стека поможет, если вы не уверены. –
Да, это мой собственный код. Я думаю, что я мог бы переписать его для работы с JDK IBM, но тогда я не знаю, нужно ли ему также следить за тем, чтобы он работал с JDK Oracle, и я знаю, что он работал в прошлом, поэтому мне кажется, что в какой-то момент я думаю он как-то читал из JDK Oracle из WebSphere. – Corey
Вы используете традиционную WebSphere или WebSphere Liberty? Традиционный WebSphere будет работать только с IBM JDK, который поставляется с ним. Для WebSphere Liberty вы можете использовать любой JDK, который вам нужен. –