2008-09-29 20 views
0

J'ai une classe java:NoClassDefFoundError avec une longue classname sur Tomcat avec Java 1.4.2_07-b05

it.eng.ancona.view.RuoliView $ TabElaborazioneFattureValidazione $ ElencoDettaglioElaborazioneFattureValidazione $ RigaElencoDettaglioElaborazioneFattureValidazione

C'est tellement long pour plusieurs classes internes.

Si j'utilise 1.4.2_07-b05 sur Eclipse et que j'appelle cette classe, tout va bien.

Si j'utilise 1.4.2_07-b05 sur Tomcat 5.0, il lance NoClassDefFoundError. J'essaie de couper le nom de la classe, et après tout cela fonctionne très bien.

J'ai cherché sur Internet et j'ai trouvé que la longueur maximale pour un nom de classe est 65000, donc la longueur devrait être ok. Et sur éclipse tous les travaux.

Le système d'exploitation est Vista. Quelqu'un sait-il si c'est un bug ou quoi que ce soit d'autre?

Répondre

2

Cela peut être dû à la longueur de chemin maximale de Windows. Essayez de déplacer votre serveur Tomcat vers quelque chose comme C: \ TC pour voir si vous avez toujours un problème. Vérifiez également si le jar dans lequel cette classe devrait être, l'a effectivement.

0

n'est-ce pas un problème de Classpath?

Dans Eclipse, il est assez facile d'obtenir un chemin de classe correct, car il gère son propre répertoire de construction.

La classe est-elle dans votre fichier WAR (ou votre dossier autodeploy, ou tout ce que vous utilisez pour déployer sur Tomcat)?