Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Fehler nach Deployment (NoClassDefFound & NoSuchMethod)
Ich habe zwei Java-Anwendungen. Führe ich die Anwendungen in der Entwicklungsumgebung aus (IRAD bzw. Eclipse) funktionieren sie problemlos. Zwei Probleme treten auf, sobald ich mein Projekt deploye (Also daraus .jar-Dateien erstelle, damit ich die Anwendung ausserhalb der SEU ausführen kann) und sie dann aufrufe.
Problem 1:
Beim Ausführen der Anwendung eins wird folgende Exception geworfen:
Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence
Die Fehlermeldung an sich ist mir klar. Nur wie behebe ich das Problem. Nach meinem Wissen muss ich ja das Package java.lang nicht bei den Classpaths angeben, da es standardmässig im JDK implementiert ist. Ich habe gelesen das die Klasse CharSequence erst ab JDK 1.4 verwendet wird. Wenn ich im Windows Control Panel unter Java nachschaue, habe ich die Javaversion 1.5.0 (Build 1.5.0_06-b05). Wo finde ich den wirklich die JDK-Version? Und kann es überhaupt sein das die JDK-Version in der SEU anders als beim Ausführen ausserhalb ist (natürlich auf dem selben Computer)?
Problem 2:
Beim Ausführen der Anwendung zwei wird folgende Exception geworfen:
Exception in thread "main" java.lang.NoSuchMethodError
Dies bedeutet das eine Methoden-Deklaration nicht gefunden wurde. Habt ihr eine Idee wie ich das be-heben kann?
Ich kann mir gut vorstellen das die beiden Probleme den gleichen Verursacher haben.
Vielen Dank im Voraus für eure Hilfe!
ich hatte früher auch ähnliche Probleme. Oft stimmt dann etwas mit deiner Package-Struktur nicht. Für Eclipse gibt es ein recht nützliches Plugin namens FatJAR um einfach executable JARs zu erzeugen.
Vielen Dank für eure Tipps & sorry, dass ich mich erst jetzt wieder melde (Hatte ein strenges Wochenende )
Bei einem Mitarbeiter funktioniert das Teil, darum muess es wohl an der Java-Version liegen.
Beim Versuch die Version zu wechseln kommt auch schon das nächste Problem:
Ich habe bereits die korrekte Version in einem Verzeichnis auf meinem Computer. Nun will ich für den gesamten Computer dieses Verzeichnis als Javahome-Verzeichnis definieren.
Ich habe also unter Systemeigenschaften --> Umgebungsvariablen eine Variable JAVA_HOME gesetzt die den Pfad zum korrekten Ordner enthält (....\Java\jre1.5.0_07\bin o. ä.). Leider wird mir, wenn ich in die Konsole den Befehl "java -version" eingebe und ich mich nicht direkt im erwähnten Verzeichnis befinde, immer noch die alte Version ausgegeben. Könnt ihr mir sagen, wie ich das korrekt mache?
Wo deployst du das Ding? Auf nem WebSphere AS?
IBM läuft bis WPS (5.1?) auf Java 1.3, WebSphere AS bis glaub 6.0 ebenso.
Es bring also nix das JDK vom Rechner umzustellen, du musst das JDK von WebSphere umstellen (was ich dir aber nicht empfehlen würde). Programmier 1.3-konform oder zumindest so dass du die restlichen Klassen mitbringst.
Hatte das Problem schon oft, da ich meinen RAD zeitweise mit Java 1.4 laufen lasse. Und dann kommt die Anwendung auf ein Produktivsystem für nen Test und ein riesen Knall, Runtime-Errors u.s.w. -> Konform zum Server programmieren, wenn's teilweise auch übel ist, grade weil bei 1.3 viele Funktionen fehlen die man häufig benutzt.