relative pfade windows/unix

Status
Nicht offen für weitere Antworten.
J

jellyfish

Gast
Hallo,

ich bin langsam am verzweifeln...
ich habe einen icon ordner mit graphiken die ich laden möchte. dieser
liegt in der selben ebene wie mein bin-ordner (mit den class files in packages),
dabei liegt die klasse MyToolBar im package gui.
wenn ich nun graphiken lade machen ich das folgender maßen:

Code:
URL imageURL = MyToolBar.class.getClassLoader().getResource(".."+File.separator+"icons"+File.separator+"graphic.gif");

unter windows funktioniert das ganze einwandtfrei nur unter linux findet der
die grafiken nicht...was mache ich falsch?
wenn ich das richtig verstanden habe dann wird doch von dem package aus
gegangen in dem die klasse MyToolBar liegt oder?
Ach ja das ganze programm befindet sich nicht in einem jar-archiv. es interessiert
mich generell da ich es nicht hinkriege unter linux den richigen pfad anzugeben.
verhält es sich denn da anders?

weitere frage: macht es einen unterschied so wie der code oben steht ob ich mein
programm von konsole aus starte oder über eclipse?

gruß
jellyfish
 

thE_29

Top Contributor
Hö?

Es befindet sich net in einem Jar Archiv??

Wieso gehst dann mit dem ClassLoader drauf??

Sag doch gleich lade das Bild vom aktuellen Verziechnis + Namen..
 

Bleiglanz

Gesperrter Benutzer
weitere frage: macht es einen unterschied so wie der code oben steht ob ich mein
programm von konsole aus starte oder über eclipse?
Ja, Eclipse startet immer in der "Wurzel" des Projekts

Beim Start von Konsole gehts darum "wo man gerade ist"
 

Bleiglanz

Gesperrter Benutzer
ach ja: beim holen mit dem Classloader haben relative Pfade wenig sinn, lass ".."

getResource("/icons/graphic.gif");

würde interpretiert wie das "Package" icon
 
J

jellyfish

Gast
Hallo,

danke erstmal...
also das prog soll später mal wenn es fertig ist in ein jar, aber es interessiert mich ebend ob man das auch
so gestalten könnte das es ohne jar auf beiden systemen mit dem selben befehl funkitoniert.

nur egal wie ich den pfad gestalte (hatte es auch ohne classloader) ich krieg es nicht gebacken das unter linux ein bild angezeigt wird. wie müßte es denn dann richtig lauten? ich seh da echt nicht mehr durch...

gruß
jelly
 

thE_29

Top Contributor
Es kommt immer auf Pfade dran an!!

1. kann beides gleichzeitig nicht gehn, außer du probierst das erste, catched die exception und probierst dann das 2!

2. Wie sieht deine Ordner Struktur im Win aus und im Lin?

3. Aus einer IDE starten, kann man net vergleichen als würde man per Hand java eingeben!

4. Aufruf zeigen..
 
G

Guest

Gast
hallo,

ich hab folgende struktur:

in meinem projektverzweichnis sind scr, bin und icons. src enthält die *.java und bin die *.class, icons die grafiken
weiterhin habe ich in src das package gui in dem sich meine MyTollbar.java befindet (demzufolge ist diese struktur nach compilieren auch im bin verzeichnis).
die struktur ist unter beiden betriebsystemen gleich.

folgendermaßen wollte ich dann einen button erstellen:

Code:
private static final String Sep = System.getProperty("file.separator");
...
private AbstractButton createIconButton(String Name, String ToolTipText, boolean toggle){

    URL imageURL = TSToolBar.class.getClassLoader().getResource(".."+Sep+"icons"+Sep+Name+".gif");

    //Create and initialize the button.
    AbstractButton button;
    if(toggle) button = new JToggleButton();
    else       button = new JButton();
    button.setActionCommand(Name);
    button.setToolTipText(ToolTipText);
    button.addActionListener(this);  

    if(imageURL != null){                      //image found
      button.setIcon(new ImageIcon(imageURL, Name));
    }else{                                           //no image found
      button.setText(Name);
      System.err.println("Resource not found: " + Name);
    }
    return button;
  }
...

sowohl über eclipse als auch über konsole befinde ich mich in meinem projekt ordner...
so wie es oben steht funktioniert es unter windows (eclipse). unter linux (eclipse oder konsole) aber nicht.

unabhängig davon ob classLoader nun richtig oder falsch ist funtioniert es z.b. nicht unter windows wenn ich die ".." weg lasse, das hieße doch eigentlich das nicht vom projekt ordner sondern vom package gui ausgegangen wird.
ohne class Loader hab ich das irgendwie noch nicht hinbekommen eine gültige url zu bekommen...
 
J

jellyfish

Gast
sorry hab vergessen meinen namen drunter zusetzen, das obere post ist von mir.

danke nochmal,
jelly
 

thE_29

Top Contributor
Begreifst du es nicht, das man mit getResource nur auf ein Jar File oder in einer IDE zugreifen kann?!?!


Entweder machst du dir ein Jar file und es wird gehn oder du nimmst einen relativen Pfad!
 
J

jellyfish

Gast
hallo,

ich nutze unter beiden systemen eclipse. unter window gehts unter linux nicht...obwohl von den randbedingungen her alles gleich ist...
(hatte nur mal nebenbei versucht es mal über konsole zu starten...und den unterschied kenne ich ja jetzt)
aber ich begreife nicht wieso sich die ausführung mit eclipse unter linux und windows unterscheidet...das ist eigentlich mein hauptverständnisproblem.

wenn ich den code so wie er oben steht in eclipse ausführe müßte er sich doch sowohl in windows als auch unter linux gleich verhalten oder nicht?

sorry das ich eure nerven strapaziere
jelly
 

thE_29

Top Contributor
Ist alles 1:1 gleich??

Liegen die Dateien 1:1 im gleichen Ordner??

Hat Eclipse alles importiert etc..??

Ich kenn mich mit dem net aus..

Maybe ein conf Fehler!


Btw.: was ärgerst dich mit so einem nichtbeachtenden Fehler rum?

Mach ein Jar File draus und teste es dann.


Wenns geht, wirds immer gehn!
 
J

jellyfish

Gast
hallo nochmal,

ja es ist alles gleich (ordnerstruktur, libraries...so ziemlich alles), das ist es ja...ich verstehe es einfcah nicht wieso er das macht...

und was den "nichtbeachtenden Fehler" angeht...es wurmt mich einfach :) ich muß bei sowas immer weiter machen bis ich die lösung gefunden habe, es interessiert mich einfach was die ursache ist...

gruß
jelly
 

thE_29

Top Contributor
so ziemlich alles ist auch wirklich alles??


Wenn sie 1:1 gleich sind, sollte es gehen!

Außer du hast wo einen \ statt / oder ; statt :

Aber du arbeitest ja mit File.separator...

Da fehlt einfach irgendwas!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
F Relative Pfade zu Fenster-Icon in Main-Methode? Java Basics - Anfänger-Themen 7
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
eLogic JDBC: Relative Pfadangabe in JAR Java Basics - Anfänger-Themen 14
Piwi Relative Pfadangabe bei Bildern Java Basics - Anfänger-Themen 2
Das Brot Relative Pfadangaben innerhalb von .jar Archiven Java Basics - Anfänger-Themen 7
D relative Pfadangabe auf überverzeichnis Java Basics - Anfänger-Themen 3
S Relative Pfadangabe funzt nicht Java Basics - Anfänger-Themen 2
A relative Pfadangabe in jars Java Basics - Anfänger-Themen 2
B Relative/Absolute Pfadangabe. Wie unterscheiden? Java Basics - Anfänger-Themen 4
M relative Pfadangabe beim laden von properties Datei Java Basics - Anfänger-Themen 4
G relative Pfadangabe Java Basics - Anfänger-Themen 3
C Absolute Cursor Position oder doch relative? Java Basics - Anfänger-Themen 4
E relative häufigkeit berechnen funktioniert nicht Java Basics - Anfänger-Themen 7
V wieder mal "relative Pfadangabe" Java Basics - Anfänger-Themen 4
E Relative Pfadangaben Java Basics - Anfänger-Themen 5
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
L Breadth-First Search statt einem Pfad, alle Pfade herausfinden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
E Pfade eines Baums angeben ohne Rekursion Java Basics - Anfänger-Themen 20
I Alle Laufwerke und deres Pfade ausgeben Java Basics - Anfänger-Themen 6
O Löschen lange pfade...Fehler? Java Basics - Anfänger-Themen 1
O Absolute Pfade in mehrere Klassen verwenden Java Basics - Anfänger-Themen 3
L Manifest und absolute Pfade Java Basics - Anfänger-Themen 5
S Variable Pfade Java Basics - Anfänger-Themen 14
N Feste Hardcodierte Pfade im Quellcode Java Basics - Anfänger-Themen 6
M Pfade in Tree einbinden Java Basics - Anfänger-Themen 2
J Icons. und. Pfade Java Basics - Anfänger-Themen 3
N Java wird nicht ausgeführt obwohl nötige Pfade gesetzt sind Java Basics - Anfänger-Themen 5
G Servlets: Erwartete/Angelegte Pfade von Tomcat/Eclipse Java Basics - Anfänger-Themen 2
A Unterschiedliche Pfade je nach OS? Java Basics - Anfänger-Themen 4
L Dateien im Netzwerk bearbeiten (UNC-Pfade und gemappte Laufw Java Basics - Anfänger-Themen 5
A Reguläre Ausdrücke der Pfade unter Windows und Unix Java Basics - Anfänger-Themen 3
V filereader soll aus config.txt pfade lesen Java Basics - Anfänger-Themen 6
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
izoards Prunsrv - Windows Service - .bat file starten Java Basics - Anfänger-Themen 84
P Unterschied Installation von zipped JDK vs Installer-JDK (auf Windows)? Java Basics - Anfänger-Themen 2
nbergmann Umgebungsvariablen einstellen unter Windows 7 klappt nicht Java Basics - Anfänger-Themen 2
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
F Terminal Windows per Befehl schließen? Java Basics - Anfänger-Themen 9
U BestPractise für Deployment unter Windows gesucht Java Basics - Anfänger-Themen 12
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
G Wofür benötigt man die Umgebungsvariablen sowohl in Windows 10 als auch in Mac OS Catalina Java Basics - Anfänger-Themen 19
S Windows printerqueue mit Java löschen Java Basics - Anfänger-Themen 3
F Windows in LinkedList registrieren Java Basics - Anfänger-Themen 3
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
J Windows Builder auf Eclipse portable Java Basics - Anfänger-Themen 1
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
E Compiler-Fehler Javac Windows vs Ubuntu /Script vs Konsole Java Basics - Anfänger-Themen 4
G sql server connection mit windows authentication Java Basics - Anfänger-Themen 2
C GUI Programmierung unter Windows mit Java womit? Java Basics - Anfänger-Themen 11
C Exlipse & SWT Windows Tools etc Java Basics - Anfänger-Themen 8
T Windows service erstellen Java Basics - Anfänger-Themen 1
I gemeinsame Config-Datei für alle Windows-User Java Basics - Anfänger-Themen 5
J fehler nach windows update Java Basics - Anfänger-Themen 44
B Windows Service erstellen Java Basics - Anfänger-Themen 2
D Umgebungsvariable Pfad javaw.exe für Programmstart auf Windows Java Basics - Anfänger-Themen 1
J Windows Version herrausfinden Java Basics - Anfänger-Themen 3
A Testprogramm in java oder javascript für Windows Anwendung? Java Basics - Anfänger-Themen 1
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
W JDK installieren JDK Installieren | Windows 8 | Hilfe Java Basics - Anfänger-Themen 8
Martin2606 Erste Schritte Fragestellung zu Windows Embedded 6.5 auf Handhelds Java Basics - Anfänger-Themen 6
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
U Einbetten von Windows Painter in einem Browser Java Basics - Anfänger-Themen 1
D Viele grafische unterschiede von Windows xp zu Windows 7 Java Basics - Anfänger-Themen 3
F Erste Schritte Unter Windows programmieren und dann auf Linux laufen lassen Java Basics - Anfänger-Themen 4
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
W Datei wird aus resources unter Windows nicht kopiert Java Basics - Anfänger-Themen 1
K Windows Symbolleiste Icons hinzufügen Java Basics - Anfänger-Themen 7
H Windows Task erstellen Java Basics - Anfänger-Themen 7
D Java geht auf windows 64 bit nicht. Java Basics - Anfänger-Themen 5
K Windows Kontextmenü verändern Java Basics - Anfänger-Themen 5
M Wann PATH und wann JAVA_HOME in Windows System 7 setzen? Java Basics - Anfänger-Themen 2
S Von Windows 7 auf Windows 8? Java Basics - Anfänger-Themen 3
F jabva 7.21 läuft nicht auf windows server 2012? Java Basics - Anfänger-Themen 9
T Variable in Windows Kommandozeile schreiben Java Basics - Anfänger-Themen 4
P Java-Konsolenanwendung mit Parameterübergabe (Windows) Java Basics - Anfänger-Themen 3
G Java unter Mac = schlecht | Windows = gut? Java Basics - Anfänger-Themen 14
M datei startet unter windows 7 nicht Java Basics - Anfänger-Themen 12
J Windows Maus-Zeigerbeschleunigung aktivieren/deaktivieren - Mit Java möglich? Java Basics - Anfänger-Themen 2
N .jar läuft nicht unter Windows 7 Starter Java Basics - Anfänger-Themen 4
FrozeTee .java Dateien unter Windows 7 werden nicht angezeigt Java Basics - Anfänger-Themen 7
S .jar/java Datei ausführen Windows 7 64bit?! Java Basics - Anfänger-Themen 7
P Windows vs. Ubuntu verschiedener Output Java Basics - Anfänger-Themen 31
A Laufende Applikation hindert Windows am herunterfahren Java Basics - Anfänger-Themen 7
S Umgebungsvariablen unter Windows XP Java Basics - Anfänger-Themen 6
A Windows Builder Java Basics - Anfänger-Themen 4
M Windows Aktionen abfangen Java Basics - Anfänger-Themen 3
Z Umgebungsvariable PATH-Umgebungsvariable unter Windows 7 Java Basics - Anfänger-Themen 27
B Programm startet in IDE,aber nicht in Windows Java Basics - Anfänger-Themen 4
R Umlaute Mac -> Windows Java Basics - Anfänger-Themen 2
S Windows Registry nur lesen Java Basics - Anfänger-Themen 3
E Input/Output Linux datei in Windows zeilenweise einlesen Java Basics - Anfänger-Themen 4
T Windows Fenster Schließen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben