java.lang.Class - Resource - Solaris

Status
Nicht offen für weitere Antworten.

reibi

Top Contributor
Hallo

Folgende Zeile liefert bei
1.)WinXP eine URL-OBJ zurück
&
2.)Bei Solaris NULL zurück

Code:
Class myClass = .......
myURL = myClass.getResource("log4j.properties");

Was mache ich falsch?
 
G

Gast

Gast
irgenwas mit deinem path in solaris ist falsch da er die datei anscheinend nicht findet
 

reibi

Top Contributor
Hallo Gast: Das denke ich halt auch. Weiss nur nicht was... ich dachte immer Java ist SystemUnAbhängig; Anscheinend an dieser Stelle dann doch nicht

Hab aber alle sachen schon ausprobiert die gehen könnten zB:

..getResource("log4j.properties");
..getResource("/log4j.properties");
..getResource("./log4j.properties");

Muss aber dazusagen, dass ich hier nicht die groesste UNIX-Leuchte bin und deshalb zu dumm bin das selbst rauszufinden

Achso: Was ich nicht will ist sowas:

..getResource("/data/prgs/selberGeproggte/meinProg/log4j.properties");

Zur Erklärung: Wenn man das PRG mal irgendwann umkopiert, und es steht ein absoluter Pfad drin, dann gehts nicht mehr und man rätselt wieder woran es liegt.

Danke für die Hilfe und fürs Kopfzerbrechen ;-)
 

kleiner_held

Top Contributor
Nur so als Hinweis:

Wenn Deine Klasse MyClass heisst und im Package mypackage.xyz liegt, dann sucht

myClass.getResource("log4j.properties");
nach dem Pfad: mypackage/xyz/log4j.properties

myClass.getResource("/log4j.properties");
nach dem Pfad: log4j.properties

myClass.getResource("./log4j.properties");
nach dem Pfad: mypackage/xyz/./log4j.properties

Alles jeweils relativ zu allen Eintraegen im Classpath.
 

reibi

Top Contributor
Danke für den Hinweis: Aber im guten EclipseSlang befindet sich die Klasse die ich Main getauft habe im DefaultPackage.. das heisst somit im PRJ-Root.
 

Wildcard

Top Contributor
reibi hat gesagt.:
Danke für den Hinweis: Aber im guten EclipseSlang befindet sich die Klasse die ich Main getauft habe im DefaultPackage.. das heisst somit im PRJ-Root.
Dann wird dir Eclipse beim Erstellen auch folgende Meldung gegeben haben:
The useage of the Default-Package is Discouraged!
:wink:
 

reibi

Top Contributor
Hallo Wildcard, das tut der ja immer wenn man was im DefaultPackage ablegt.

Aber wozu soll ich denn ein Package erstellen, wenn dieses Beispiel immer noch HelloWorld-Charakter hat? Das kann man ja später ändern ...oder?
 

kleiner_held

Top Contributor
Um auf dein Problem zurueckzukommen:

Du solltest mal deinen Classpath unter Solaris durchchecken, zB. mit
Code:
System.out.println(System.getProperty("java.class.path"));
vorallem der Unterschied zwischen deinem Windows0 und Solarissystem ist interessant.

Ich kann irgendwie nicht glauben, dass Class.getResource() unter Solaris defekt sein sollte.
 

reibi

Top Contributor
Danke, das ist klar ... ich mach immer alles nach Konvenzion. zB so org.reibi.myprg

und so erklär ichs auch jeden, den ich java erklär

So ... nun aber zurück zu meinen problem:
 

Wildcard

Top Contributor
kleiner_held hat gesagt.:
vorallem der Unterschied zwischen deinem Windows0 und Solarissystem ist interessant./quote]
Die meisten Betriebssysteme (ausser Windows) haben den '.' nicht im Pfad. Eventuell liegt's daran.
 

reibi

Top Contributor
Hallo kleiner Held und Wildcard


Mein sys funktioniert so ... ich hab das ganze in ein JarFile gepackt und so unter Solaris probiert

<PRJ-Root>helloworld.jar
<PRJ-Root>log4j.properties

So nun zum Zusammenhang: Wenn ich aus diesem .jar-File das hier

System.out.println(System.getProperty("java.class.path"));

aufrufe --> Sagt er mir natürlich dass der ClassPath aussschliesslich auf das jarFile beschränkt ist .

also /data/myprg/myprg.jar

Und da es im .jar-File liegt sollte das ja keinen Unterschied mehr machen .. oder? Aber vielelicht weil das log4J ausserhalb des .jar-Files liegt?

ABER APropo Classpath... was hat das denn mit dem classpath zu tun? das File ziehe ich ja nicht über den Classpath an ..oder? und das ProjektRoot sollte ausserdem immer automatisch im Classpath liegen oder?

Danke aber trotzdem dass Ihr Euch meine Probleme durch den Kopf gehen lasst ;-)
 

Wildcard

Top Contributor
Die Datei die du haben möchtest liegt aber nicht im JAR, sondern ausserhalb.
Nimm mal '.' in den ClassPath auf (manifest), ich denke daran liegt's.
 

kleiner_held

Top Contributor
reibi hat gesagt.:
ABER APropo Classpath... was hat das denn mit dem classpath zu tun? das File ziehe ich ja nicht über den Classpath an ..oder? und das ProjektRoot sollte ausserdem immer automatisch im Classpath liegen oder?

Doch, Class.getResource(String) geht ueber den Classpath (und nur ueber diesen). Und wenn Du Dein Programm ueber
Code:
java -jar /data/myprg/myprg.jar
startest, dann ist auch das aktuelle Verzeichnis (.) nicht unbedingt immer mit im Classpath (je nach default Classpath des Betriebssystems).

Wuerdest du zum Beispiel deine log4j.properties mit in das Jar packen, dann wuerde Dir
Code:
System.out.println(myClass.getResource("log4j.properties"));

sowas wie:
Code:
jar:file:/C:/myProjectRoot/helloworld.jar!/log4j.properties
ausgeben.
 
G

Guest

Gast
Wuerdest du zum Beispiel deine log4j.properties mit in das Jar packen, dann wuerde Dir


[/quote]

Ja aber ich will das .propertioes-File nicht mit is .jar Packen weil ich es dann zu umständlich konfigurieren könnte. Deshalb ist es draussen.
 

reibi

Top Contributor
So ich nochmal:
Also mein Problem war, dass ich praktisch nur von dem log4j.properties-File ne URL haben wollte.

die dann ungefähr so aussehen sollte file://blabla

Ich hab auch IMMER den Anspruch von meinen JavaProgrammen dass man sie ohne Aufwand auf verschieden Sys portieren kann.

Also zurück im text... ich war ja so dumm!!!

Folgende Zeile gibt auch ne url von nem File:

PropertyConfigurator.configure((new File("conf/log4j.properties")).toURL());

Habs jetzt alles unter Windows und Solaris getestet ...UND ES LÄUFT ..JUHU!

das log4j.properties-File liegt jetzt sogar schön in nem Verzeichnis namens conf/


So ..Problem gelöst ... und Artikel abgeschlossen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F java.lang.ClassNotFoundException: .class Allgemeine Java-Themen 5
B Variable class in java.lang.Object Allgemeine Java-Themen 11
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
P Swing Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: npoints > xpoints.length || npoints > ypoints.length Allgemeine Java-Themen 5
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
J Threads - java.lang.IllegalThreadStateException Allgemeine Java-Themen 6
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
T Eclipse Dll einbinden java.lang.UnsatisfiedLinkError nur in Eclipse nicht via javac Allgemeine Java-Themen 1
V Compiler-Fehler Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 125, Size: 125 Allgemeine Java-Themen 11
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
Crooda Compiler-Fehler java.lang.NoClassDefFoundError bitcoinj Allgemeine Java-Themen 1
I Fehler java.lang.NullPointerException Allgemeine Java-Themen 5
L Eigenener ClassLoader wirft java.lang.NoClassDefFoundError Allgemeine Java-Themen 0
H java.lang.NullPointerException Allgemeine Java-Themen 5
L Interpreter-Fehler java.lang.NullPointerException Allgemeine Java-Themen 17
S java.lang.NoClassDefFoundError Allgemeine Java-Themen 5
J Compiler-Fehler java.lang.StringIndexOutOfBoundsException Allgemeine Java-Themen 12
D java.lang.TypeNotPresentException Allgemeine Java-Themen 3
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
L java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 10
S javadoc java.lang.NullPointerException Allgemeine Java-Themen 2
H java.lang.OutOfMemoryError bei der wiederholten Erzeugng von Threads Allgemeine Java-Themen 8
N java.lang.IllegalMonitorStateException: object not locked by thread before notify() Allgemeine Java-Themen 2
T ProcessBuilder (java.lang.NoClassDefFoundError) Allgemeine Java-Themen 2
T java.lang.AssertionError: Allgemeine Java-Themen 4
T java.lang.ClassCastException: Allgemeine Java-Themen 4
P Java Probleme - java.lang.Thread.run(Unkown Source) Allgemeine Java-Themen 10
B java.lang.UnsupportedClassVersionError Allgemeine Java-Themen 12
M cannot be cast to java.lang.Comparable Allgemeine Java-Themen 5
B JNI - java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 21
E Interpreter-Fehler java.lang.ExceptionInInitializerError Allgemeine Java-Themen 12
C java.lang.ClassCastException Allgemeine Java-Themen 3
P Fehler beim Programmstart: java.lang.NoClassDefFound Allgemeine Java-Themen 12
T java.lang.ClassCastException Allgemeine Java-Themen 7
B Java - java.lang Allgemeine Java-Themen 12
sylo java.lang.NoSuchMethodError: Obwohl Methode vorhanden Allgemeine Java-Themen 8
MonsterBit java.lang.NullPointerException Allgemeine Java-Themen 2
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
M SerialPort RS232 : java.lang.NoSuchFieldError: eis Allgemeine Java-Themen 2
U java.lang.ClassNotFoundException: .jar Allgemeine Java-Themen 8
G NoClassDefFoundError: java/lang/Object Allgemeine Java-Themen 4
W java.lang.ClassCastException Allgemeine Java-Themen 10
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
N java.lang.InstantiationException Allgemeine Java-Themen 10
J java.lang.NullPointerException bei Threadprogrammierung Allgemeine Java-Themen 9
D replaceAll => no such java.lang.NoSuchMethodError Allgemeine Java-Themen 5
G java.lang.LinkageError: loader constraints violation. Allgemeine Java-Themen 3
O java.lang.NumberFormatException für normalen integer Allgemeine Java-Themen 4
G Javadoc generiert keine Links zu java.lang Klassen? Allgemeine Java-Themen 4
Y java.lang.UnsupportedClassVersionError: Allgemeine Java-Themen 5
G java.lang.ClassCastException Allgemeine Java-Themen 3
J Fehler: java.lang.NullPointerException Allgemeine Java-Themen 2
E java.lang.outofmemory über windows-cmd ändern Allgemeine Java-Themen 6
J Folgender Fehler: java.lang.NullPointerException Allgemeine Java-Themen 4
I java.lang.UnsatisfiedLinkError: Allgemeine Java-Themen 8
J Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 26
J java.lang.StackOverflowError Debugging? Allgemeine Java-Themen 51
D java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 5
S Fortran Funktion mit JNI aufrufen: java.lang.UnsatisfiedLink Allgemeine Java-Themen 2
S java.lang.UnsatisfiedLinkError mit JNI Allgemeine Java-Themen 6
S Exception in Thread "main" java.lang.NoClassDef. b Allgemeine Java-Themen 2
M java.lang.UnsupportedClassVersionError: Bad version number i Allgemeine Java-Themen 5
J java Thread java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 7
O "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBounds Allgemeine Java-Themen 6
B Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 12
G Error: java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 2
S java.lang.OutOfMemoryError: Java Allgemeine Java-Themen 22
G java.lang.NullPointerException JFreeChart Allgemeine Java-Themen 5
E Java Fehlermeldung java.lang.NoClassDefFoundError Allgemeine Java-Themen 3
G Problem mit java.lang.reflect.Field Allgemeine Java-Themen 15
P Kompilerfehler: at java.lang.ClassLoader.loadClassInternal(U Allgemeine Java-Themen 16
M java.lang.NullPointerException im Chatclient Allgemeine Java-Themen 12
H java.lang.ExceptionInInitializerError Allgemeine Java-Themen 7
D java.lang.IllegalMonitorStateException: current thread not Allgemeine Java-Themen 3
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 15
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
T Profifrage: java.lang.StackOverflowError bei BigInteger Allgemeine Java-Themen 27
M java.lang.OutOfMemoryError Allgemeine Java-Themen 2
W java.lang.ClassNotFoundException Allgemeine Java-Themen 10
F java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 22
B Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 5
S fehlermeldung java.lang.OutOfMemoryError Allgemeine Java-Themen 5
B java.lang.NullPointerException Allgemeine Java-Themen 11
S Exception in thread "main" java.lang.StringIndexOu Allgemeine Java-Themen 9
H Skalieren von Image -> java.lang.OutOfMemoryError - WARUM Allgemeine Java-Themen 18
J java.lang.ArrayIndexOutOfBoundsException Allgemeine Java-Themen 2
P Hilfe zu java.lang.Object Allgemeine Java-Themen 3
K java.lang.reflect - Getter und Setter ermitteln Allgemeine Java-Themen 8
G jTable-Problem --> java.lang.OutOfMemoryError Allgemeine Java-Themen 5
G Java.lang.Compiler Allgemeine Java-Themen 3
E Exception in Thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 5
F java.lang.OutOfMemoryError Allgemeine Java-Themen 13
R java.lang.String maximale Anzahl der Zeichen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben