sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag lösa ett NoClassDefFoundError?

java.lang.NoClassDefFoundError betyder runtime versionen av klassen i klasssökvägen är inte densamma som den vid kompilera tid.

Ditt problem kan vara att flera versioner av klassen hittas när servern distribueras. Jag lägger märke till klassen org.apache.myfaces.trinidadinternal.convert.ColorConverter finns i trinidad-impl.jar

Kan du söka efter hur många sådana burkar som finns i runtime-servermiljön plus dina egna webbappsbibliotek?

På Windows körs den inbyggda Jdev-servern i den här mappen

C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23 eller något liknande

du behöver detta i din webbapp/WEB-INF/lib och inte i de andra områdena.

På min lokala hittar jag Jar under C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23\o.j2ee.wlLibs\jsp\Trinidad-Components1.2.war

Jag tror att du kan använda inställningen weblogic.xml för att tvinga klassen WEB-INF/lib att laddas framför den i server/lib med

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


  1. JDBC automatiska fråga visade sig vara mycket långsam

  2. PostgreSQL - FATAL:Identifiering misslyckades för användaren myuser

  3. Hur man väljer kolumnnamn dynamiskt i mySQL

  4. Hur man ställer in serverutgång i DataGrip