2010-03-14 4 views
1

J'utilise cette version Java:en ce qui concerne la version java 1,3 à 1,4

java version "1.3.1_01" Java (TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java HotSpot (TM) client VM (build 1.3.1_01, mode mixte) `

Mais j'ai écrit une demande et je reçois l'erreur de temps

Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence 

CharSequence existe seulement depuis la version 1.4.

Comment puis-je résoudre ce problème?

+0

La solution évidente qui saute est de passer à la version 1.4 ou ultérieure. Qu'est-ce qui empêche cela? Une politique d'entreprise? –

Répondre

3

On dirait que vous avez du code 1.4 que vous essayez d'exécuter sur 1.3.

Vous faites l'erreur classique de supposer que vos hypothèses sont correctes. Vérifiez vos hypothèses.

Les deux JVM ont bien dépassé la fin de leur durée de vie. Peut-être que vous devriez envisager de mettre à niveau. JDK 6 est la norme actuelle.

0

Selon les JavaDocs, l'interface CharSequence est implémentée par CharBuffer, String et StringBuffer. Étant donné que ces classes sont si profondément ancrées dans tout, je ne peux pas imaginer comment vous pouvez contourner le problème. Donc, deux solutions:

  • réécrivent une classe CharSequence
  • utilisation java 1,4
0

Juste essayer d'utiliser au lieu de cordes CharSequence si les suites de vos besoins. Sinon, peut-être que char [] sera utile. Ça dépend. Montrez votre code pour avoir une conversation plus constructive

1

Vous devez avoir soit écrit votre code (et compilé) contre une version ultérieure du JDK/JRE que vous essayez de l'exécuter sur. Si vous devez rester sur 1.3, assurez-vous que vous construisez aussi contre 1.3.

L'autre option est que vous êtes en utilisant un JAR tiers qui a été construit avec une version ultérieure du JDK. Dans ce cas, déterminez quelle bibliothèque est à l'origine du problème et arrêtez de l'utiliser.

Ou, si possible améliorer votre environnement tout à 1,6 (ou 1,5, si cela est trop moderne pour vous)