Avatar billede mortennobel Nybegynder
25. januar 2005 - 15:49 Der er 8 kommentarer

java.lang.NoClassDefFoundError: java/lang/CharSequence

Jeg er igang med et lave et java program som er skrevet i JDK 5.0 (som bl.a. indeholder generics) men skal køre i JRE 1.3.

Det er hidtil kørt ganske fint, men pludselig får jeg følgende fejl:
java.lang.NoClassDefFoundError: java/lang/CharSequence

Jeg kan se at det er en klasse som blev introduceret i java1.4, men jeg kalder ikke klassen direkte. Jeg har en formodning om at kaldet stammer enten fra en hashtabel eller fra concatenering af strenge.

Men hvordan slipper jeg af med fejlen ? Nogle ideer?
Avatar billede arne_v Ekspert
25. januar 2005 - 15:57 #1
Compiler du med:

-source 1.3 -target 1.3

?
Avatar billede mortennobel Nybegynder
25. januar 2005 - 16:27 #2
Nu bruger jeg JBuilder 2005, (som bruger Borland Make som compiler).

Her har jeg valgt Language features : Java 2 SDK v 5.0.

Men Target VM: Java 2 SDL v 1.3.

Dette svarer til:
-source 1.5 -target 1.3
Avatar billede arne_v Ekspert
25. januar 2005 - 16:31 #3
Jeg ville prøve at få source ned i 1.3
Avatar billede mortennobel Nybegynder
25. januar 2005 - 16:37 #4
Ja det ender det desværre nok også med :-(

Men hvis nogen er stødt på problemet og kender en workaround - please let me know :-)
Avatar billede mortennobel Nybegynder
26. januar 2005 - 11:01 #5
Jeg har fundet løsningen :-)

Mit problem skyldes at jeg brugte en klasse, som refererede til en anden klasse, hvori CharSequence blev brugt.

Hvad skulle man gøre uden JODE :-)

Det var altså ikke min 1.5 til 1.3 kompilering som der var noget galt med :-)
Avatar billede arne_v Ekspert
26. januar 2005 - 20:40 #6
Og du fik ikke fejl når du compilede med -source 1.5 -target 1.3 ?
Avatar billede arne_v Ekspert
26. januar 2005 - 20:40 #7
eller -source 1.3 -target 1.3
Avatar billede mortennobel Nybegynder
26. januar 2005 - 21:01 #8
Som sagt bruger jeg JBuilder, som bruger JBuilder Make til at compilere med (og ikke Sun's javac).

Her kan man kompilere Java 1.5 med generics til at køre på JRE 1.2, 1.3, 1.4 osv.

Selvfølgelig betinget af at man ikke bruger metoder fra api'et som ikke findes i det pågældende sprog.

Jeg får ingen fejl, men det skyldes at klassen som indeholder CharSequence ligger i et eksternt bibliotek, og ikke bliver compileret - kun refereret. Jeg burde selvfølgelig have checket at det klassebibliotek var compatibelt m. JRE 1.3.

Men tak for hjælpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester