[SOLVED] Classpath und statische Variablen

Status
Nicht offen für weitere Antworten.

Arvodan

Mitglied
Hallo Forum.

Ich habe folgendes Problem:
Ich hab eine Anwendung die ein paar Klassen aus einem fremden .jar File benutzt. Eine dieser Klassen wird einer statischen Variablen zugwiesen.

Code:
private static Position position = new Position();

Genau an dieser Stelle bekomme ich eine Exception in thread "main" java.lang.NoClassDefFoundError: Exception.
Das .jar file liegt im Classpath. (ganz sicher, da andere .jar Dateien die im gleichen Verzeichnis liegen gefunden werden) Auch wenn ich es in das aktuelle verzeichnis lege, findet er es nicht. (Obwohl das im Classpath ist.) (Andere .jar Dateien die im gleichen Verzeichnis liegen, werden gefunden.)

ABER: wenn ich die .jar Datei ins JAVA_HOME/lib/ext lege, findet er die Klasse und alles ist wunderbar.

Die Frage: woran liegt das? Versucht er u.U. schon das Objekt zu instanziieren bevor er den kompletten Classpath gelesen hat? Und, ganz wichtig, wie könnte ich das Problem lösen?

Hier der Classpath:
Code:
java -cp \lib\position.jar;lib\framework.jar;lib\jdom.jar;\lib\OB.jar;\lib\OBNaming.jar;. -jar myJar.jar
(wie man sieht benutze ich Windows, sollte aber ja egal sein.)



Grüße
Arvodan
 

thE_29

Top Contributor
Dir is schon klar das

\lib\position.jar;

Nicht lib\position.jar ist


Wenn du mit \ anfängst, geht der dir ins Root Verzeichnis (also C:\lib\position.jar)

Wohingegene lib\position.jar im aktuellen Verzeichnis sucht!


Schreib aber am besten .\ dann isses sicher das aktuelle Verzeichnis

Auf gut deutsch:

\lib\position.jar;lib\framework.jar;lib\jdom.jar;\lib\OB.jar;\lib\OBNaming.jar

der CP ist total fürn Arsch!

mach die \ vorne weg und merk dir das in Zukunft, wenn du immer ins gleiche Verzeichnis zugreifst, dann sollten auch alle Einträge mit dem gleichen Ding anfangen!!

Das ist schon mal Fehlereleminierung 1!
 

Arvodan

Mitglied
der \ am Anfang des Classpath war ein Tippfehler meinerseits, sorry.

Hab aber mittlerweile die Lösung gefunden:

:meld:

Startet man ein Programm mit -jar startet das die ganze Anwendung in nem encapsulated-Mode der den Classpath ignoriert. Die Lösung ist, auf das -jar zu verzichten. Statt dessen legt man die .jar file in den Classpath und ruft die Main classe direkt auf. Dann funktioniert das ganze.

Hier gefunden: forum.java.sun.com/thread.jspa?forumID=31&threadID=568603

Code:
java -cp lib\position.jar;lib\framework.jar;lib\jdom.jar;\lib\OB.jar;\lib\OBNaming.jar;.\myJar.jar;.;  mypackage.mySubPackage.MainClass

Da soll man mal drauf kommen.... :shock:


Danke für die Bemühungen.

Grüße
Arvodan
 

thE_29

Top Contributor
Naja, das wusste ich auch :bae:

Habs aber vergessen zu erwähnen (bzw gar net dran gedacht)


Meine (Unsere) Programm starte ich sowieso nie mit -jar ;)
 

Arvodan

Mitglied
Jou..wir jetzt auch nicht mehr....

Nebenbei: das aktuelle Verzeichnis muss doch nicht zwingend im Classpaht sein. Oder? Hab ich noch nie gemacht, und gab auch keine Probleme.Bisher. (Hier ist es sogar völlig unnötig, da das Shellscript das die Anwendung startet ein eigenes Verzeichnis hat.)

Grüße
Arvodan
 

thE_29

Top Contributor
Naja, das aktuelle Verzeichnis muss nur dann drinnen sein, wenn du mit class Dateien arbeitest!

Er durchsucht nämlich Verzeichnisse nur nach class Dateien und net nach jar Dateien (sonst würde es ja reichen, wenn man einfach ein Verzeichnis sagt)


Ich habs zwar auch drinnen, muss man aber wenn man mit jar Dateien arbeitet net machen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Java 8 Sicherheitswarnung abschalten [solved] Allgemeine Java-Themen 1
M [Solved] StringIndexOutOfBoundsException Allgemeine Java-Themen 1
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
V [solved]Von Java Prog über ein JSP/Servlet auf DB zugreifen Allgemeine Java-Themen 3
W [Solved] RegEx (Text ersetzten mit gefundenem - $id) Allgemeine Java-Themen 2
W String.substring und UTF-16-Konformität [solved] Allgemeine Java-Themen 5
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
M [SOLVED]MVC, einmalige aktionen Allgemeine Java-Themen 7
ExceptionOfExpectation Einsatz von CLASSPATH Allgemeine Java-Themen 30
L Jar Dateien in Classpath laden ab JDK 9+ Allgemeine Java-Themen 11
thet1983 Input/Output read properties file from classpath Allgemeine Java-Themen 3
F Classpath als Argument in Funktion übergeben Allgemeine Java-Themen 3
reibi Classpath Classpath Variable beim Tomcat Allgemeine Java-Themen 2
M Ant relative Pfade im Classpath vom Jar-Task Allgemeine Java-Themen 2
H CLASSPATH im Javaprogramm ändern Allgemeine Java-Themen 5
J Beanshell Classpath Reihenfolge Allgemeine Java-Themen 2
M Classpath und Buildpath Allgemeine Java-Themen 5
S .Classpath Datei im Eclipse Projekt Allgemeine Java-Themen 7
B Framework zum durchstöbern des classpath Allgemeine Java-Themen 2
reibi Files über Classpath laden Allgemeine Java-Themen 22
J Class.forName und CLASSPATH -Problem Allgemeine Java-Themen 5
S Eclipse und Glassfish Classpath-Fehler(?) Allgemeine Java-Themen 6
U Java file aus Classpath lesen Allgemeine Java-Themen 1
A AspectJ Compiler nicht im CLASSPATH? Allgemeine Java-Themen 4
A CLASSPATH unter Debian Lenny Allgemeine Java-Themen 4
Fadi Lade Klass(jar), die lib im classpath hat mit URLClassLoader Allgemeine Java-Themen 2
Escorter .jar Datei Classpath mitgeben ohne Dos Fenster Allgemeine Java-Themen 8
D Ordner mit *.properties in classpath ? Allgemeine Java-Themen 5
S Java 5/6 Problem im Classpath Allgemeine Java-Themen 11
P CLASSPATH LINUX Allgemeine Java-Themen 9
N Classpath mit ClassLoader künstlich erweitern Allgemeine Java-Themen 2
E In welcher Datei wird classpath gesetzt? Allgemeine Java-Themen 9
D Classpath setzten bei jogl (jsr-231) Allgemeine Java-Themen 2
S Java greif automatisch auf Classpath zu Allgemeine Java-Themen 2
V komischer ClassPath Allgemeine Java-Themen 6
M [Windows] Aufruf von Java mit Sonderzeichen im Classpath Allgemeine Java-Themen 5
T class file(s) on classpath not found or not accessible Allgemeine Java-Themen 8
G package und classpath grundsatzfrage Allgemeine Java-Themen 7
F suche im Classpath mit Pattern *.gif Allgemeine Java-Themen 16
P CLASSPATH und Jar Allgemeine Java-Themen 40
P Classpath, Tomcat und Eclipse Allgemeine Java-Themen 4
T Classpath per Java Programm setzen Allgemeine Java-Themen 9
D jdic classpath setzen Allgemeine Java-Themen 2
G Classpath Allgemeine Java-Themen 5
F mit getResourceAsStream () Datei im Classpath suchen Allgemeine Java-Themen 15
G Classpath, Packages und Import Allgemeine Java-Themen 3
G Classpath? Allgemeine Java-Themen 3
S Verständnis Problem - Classpath Allgemeine Java-Themen 5
G Classpath bei JAR Allgemeine Java-Themen 14
M Auf Klassen in jar-File (nicht im CLASSPATH) zugreifen Allgemeine Java-Themen 4
temi Private statische Hilfsmethoden Allgemeine Java-Themen 33
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
M Zeiger auf statische Variable Allgemeine Java-Themen 1
S Kapselung Statische Helper Klassen Allgemeine Java-Themen 5
C Classloading und statische Variablen Allgemeine Java-Themen 2
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
J Statische Variablen, Threadübergreifend. Allgemeine Java-Themen 4
R Statische Klasse: Best practice mit flags (2) Allgemeine Java-Themen 3
N Klasse rausfinden, an der eine statische Methode aufgerufen wurde ? Allgemeine Java-Themen 10
R statische initialisierer Allgemeine Java-Themen 7
S statische Methoden und Vererbung Allgemeine Java-Themen 6
M Zwingen eine statische Methode zu importieren Allgemeine Java-Themen 5
heart_disease Designfrage: Statische Konfigurationsklasse Allgemeine Java-Themen 10
S statische Interfaces..? Allgemeine Java-Themen 6
M Wann Membermethoden, wann statische Utility-Methoden? Allgemeine Java-Themen 24
S Innere Klassen und die statische Methode access$x Allgemeine Java-Themen 5
S Statische Methoden in abstrakte Klassen deklarieren? Allgemeine Java-Themen 17
M Paralleler Zugriff auf statische Methode Allgemeine Java-Themen 5
J Statische Methoden in Interfaces? Allgemeine Java-Themen 10
F Statische Methode in abstrakter Superklasse definieren Allgemeine Java-Themen 4
B Statische Methode? Komisch. Allgemeine Java-Themen 5
G Wann statische Methoden, statische Attributen? Allgemeine Java-Themen 7
G Statische Methoden erzwingen Allgemeine Java-Themen 2
H Zugriff auf statische Variable synchronisieren Allgemeine Java-Themen 4
S Tiefe Kopie einer Baumstruktur als statische Methode Allgemeine Java-Themen 8
M statische Methode per reflection aufrufen Allgemeine Java-Themen 2
M statische regex und vergleiche oder immer wieder compilen Allgemeine Java-Themen 2
S Statische Methode oder nicht? Allgemeine Java-Themen 5
T in einer statischen Methode ein nicht statische Aufrufen Allgemeine Java-Themen 5
D Statische, generische Methode will nicht. Allgemeine Java-Themen 2
H Zugriff auf statische Methode durch mehrere User Allgemeine Java-Themen 19
S Auf statische Funktionen mit Java Reflections zugreifen Allgemeine Java-Themen 3

Ähnliche Java Themen


Oben