Oracle
 sql >> база данни >  >> RDS >> Oracle

Как мога да реша NoClassDefFoundError?

java.lang.NoClassDefFoundError означава време на изпълнение версията на класа в classpath не е същата като тази при компилиране време.

Вашият проблем може да бъде множество версии на класа, открити, когато сървърът се внедрява. Забелязвам класа org.apache.myfaces.trinidadinternal.convert.ColorConverter се намира в trinidad-impl.jar

Можете ли да потърсите колко такива буркани се намират в средата на сървъра за изпълнение плюс вашите собствени библиотеки за уеб приложения?

В Windows вграденият сървър на Jdev работи в тази папка

C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23 или нещо подобно

имате нужда от това във вашето уеб приложение/WEB-INF/lib, а не в другите области.

На моя локален намирам Jar под C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23\o.j2ee.wlLibs\jsp\Trinidad-Components1.2.war

Мисля, че бихте могли да използвате настройката weblogic.xml, за да принудите класа WEB-INF/lib да се зарежда с предпочитание пред този в server/lib с

    <container-descriptor>     
<prefer-web-inf-classes>true</prefer-web-inf-classes>   
</container-descriptor> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ActiveMQ 5.8:Не може да се зареди клас JDBC драйвер „oracle.jdbc.driver.OracleDriver“

  2. Изтриване на редове с ограничения на външен ключ

  3. Четене на clob променлива ред по ред

  4. Кеш на резултатите

  5. Как да замените нов ред в Oracle