sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg løse en NoClassDefFoundError?

java.lang.NoClassDefFoundError betyder runtime versionen af ​​klassen i klassestien er ikke den samme som den ved compile tid.

Dit problem kan være, at flere versioner af klassen bliver fundet, når serveren installeres. Jeg bemærker klassen org.apache.myfaces.trinidadinternal.convert.ColorConverter findes i trinidad-impl.jar

Kan du søge efter, hvor mange sådanne krukker der findes i runtime-servermiljøet plus dine egne webapp-biblioteker?

På Windows kører den indbyggede Jdev-server i denne mappe

C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23 eller noget lignende

du skal bruge dette i din webapp/WEB-INF/lib og ikke i de andre områder.

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

Jeg tror, ​​du kunne bruge weblogic.xml-indstillingen til at tvinge WEB-INF/lib-klassen til at blive indlæst frem for den i server/lib med

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

  1. MySQL-producerende forbruger med flere udvalgte tråde

  2. Fejl ved forbindelse til databasen:(ved brug af klassen org.gjt.mm.mysql.Driver) Sætningen (1) har ingen åben markør

  3. INDSÆT en SELECT GROUP BY:flere målkolonner end udtryksfejl

  4. Hvordan fungerer NOT IN underforespørgsel med NULL-værdier?