# NoClassDefFoundError - Warum?



## Benzol (23. Juli 2007)

Bin jetzt mittlerweile dahinter gekommen, warum mein in 1.5 kompiliertes Programm nicht unter einer 1.3 Laufzeitumgebung lauffähig ist. 
Habe meine erstellten Klassen mit Retroweaver auf 1.3 umgestellt und siehe da - er versucht diesmal mein Programm zu starten, ohne mir zu sagen, das es Versionsunterschiede gibt.

Nur leider bricht er dann wieder mit der Fehlermeldung NoClassDefFoundError ab, und es scheint wieder etwas mit JDIC und dem darin enthaltenen Klassen zu tun zu haben.

Meine Frage ist daher, ist es möglich den Sourcecode von JDIV neu zu compilieren und ihn mit Retroweaver umzuwandeln und liegt das Problem woanders. 
Ich kann leider kein JRE Update machen, da eine bereits vorhandene Software diese scheinbar zwingend benötig. Was für Möglichkeiten habe ich?


----------



## torax13 (23. Juli 2007)

Besteht die Möglichkeit parallel eine 2. JVM zu installieren? Du könntest ja dann beim/vor dem Start das JAVA_HOME umbiegen... 

Dadurch würde die bisherige SW weiter mit dem 1.3er laufen und neuere kannst Du mit was immer Dir paßt starten...

Gruß


----------



## Benzol (23. Juli 2007)

Hast du dazu Quellen, die ich lesen kann? Im Prinzip wäre das keine schlechte Idee... würde das Problem zumindest am schnellsten Lösen.


----------



## torax13 (23. Juli 2007)

Das ist halt recht abhängig vom verwendeten Betriebssystem und der Art, wie Du Deine Anwendung startest.

Unter Linux würd ich die JRE einfach 'irgendwo' entpacken (/usr/local/bin..) und ein Shell script zum Aufruf verwenden:

```
#!/bin/bash
export JAVA_HOME=/usr/local/bin/<wo/auch/immer/deine/JRE/steht
java -jar -cp ...
```

Windows wohl so ähnlich, mußt nur aufpassen, as das Installscript der JRE Dir dort nicht Das bereits vorhandene JAVA_HOME und den PATH vers'schönert'

Gruß


----------



## Benzol (23. Juli 2007)

Wie sieht es denn aus, wenn gerade eine 1.3 Anwendung läuft und ich dann das JAVA_HOME ändere?!


----------



## torax13 (23. Juli 2007)

Umgebungsvariablen werden vom Vater zum Kindprocess weitergegeben. Nachträgliche Änderungen haben keinen Einfluss (der Process bekommt sie nicht mit)

Gruss


----------

