sql >> Database >  >> RDS >> Oracle

Hoe kan ik een NoClassDefFoundError oplossen?

java.lang.NoClassDefFoundError betekent de runtime versie van de klasse in het klassenpad is niet dezelfde als die bij compileren tijd.

Uw probleem kan zijn dat er meerdere versies van de klasse worden gevonden wanneer de server wordt geïmplementeerd. Ik zie de klasse org.apache.myfaces.trinidadinternal.convert.ColorConverter is te vinden in trinidad-impl.jar

Kun je zoeken naar hoeveel van dergelijke potten er in de runtime-serveromgeving plus je eigen webapp-bibliotheken worden gevonden?

Op Windows draait de Jdev ingebouwde server in deze map

C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23 of iets dergelijks

je hebt dit nodig in je webapp/WEB-INF/lib en niet in de andere gebieden.

Op mijn lokale vind ik de Jar onder C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23\o.j2ee.wlLibs\jsp\Trinidad-Components1.2.war

Ik denk dat je de weblogic.xml-instelling zou kunnen gebruiken om te forceren dat de WEB-INF/lib-klasse wordt geladen in plaats van die in server/lib met

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


  1. Hulp nodig bij het optimaliseren van een lat/Lon geo-zoekopdracht voor mysql

  2. SQLite en aangepaste volgorde door

  3. Externe sleutelbeperking uitschakelen, tabel nog steeds niet afkappen? (SQL-server 2005)

  4. PDO in mysql-prestaties