Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso resolver um NoClassDefFoundError?


java.lang.NoClassDefFoundError significa o tempo de execução a versão da classe no caminho de classe não é a mesma que em compilar Tempo.

Seu problema pode ser a localização de várias versões da classe durante a implantação do servidor. Percebo a classe org.apache.myfaces.trinidadinternal.convert.ColorConverter é encontrado em trinidad-impl.jar

Você pode pesquisar quantos desses jars são encontrados no ambiente do servidor de tempo de execução, além de suas próprias bibliotecas de aplicativos da web?

No Windows, o servidor embutido Jdev é executado nesta pasta

C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23 ou algo semelhante

você precisa disso em seu webapp/WEB-INF/lib e não em outras áreas.

No meu local, encontro o Jar em C:\Users\<...>\AppData\Roaming\JDeveloper\system11.1.1.4.37.59.23\o.j2ee.wlLibs\jsp\Trinidad-Components1.2.war

Eu acho que você poderia usar a configuração weblogic.xml para forçar a classe WEB-INF/lib a ser carregada de preferência àquela em server/lib com
    <container-descriptor>     
<prefer-web-inf-classes>true</prefer-web-inf-classes>   
</container-descriptor>