Eclipse Richtige Pfadangabe zu gewünschtem Ordner

Heady86

Bekanntes Mitglied
Hallo zusammen,

ich scheiter grad irgendwie an der Pfadangabe in Eclipse zu einer bestimmten Ordnerstruktur.

Ich habe folgende Ordnerstruktur:
de.test.blubb
- src/main/java
- src/main/resources
- src/test/java
- src/test/resources

Nun möchte ich aus meiner Java Klasse die unter "src/main/java" liegt auf eine Datei zugreifen (xml) die unter "src/test/resources" liegt..

Kann mir jemand sagen wie da der Pfad aussehen müsste, ohne den kompletten Verzeichnispfad anzugeben?

Vielen Dank für Tipps

Grüße
 
Moin,

wenn ich es richtig verstanden habe, dann möchtest Du den Pfad relativ zum aktuellen Verzeichnis "src/main/java" anwählen, oder ??

Das wäre dann wohl : "../../test/resources"

Gruß
Klaus
 
Zuletzt bearbeitet von einem Moderator:
Möchtest du in der Datei nur lesen oder auch schreiben?

Wenn du nur lesen möchtest hoffe ich, dass du die Datei folgendermaßen lädst:

Java:
getClass().getClassloader().getResourceAsStream(...)

Dann reicht es einfach, wenn src/main/resources im Classpath ist (was, da deine Struktur nach maven2 aussieht, automatisch so sein könnte).
 
Anscheinend benutzt der TS Maven2, da ist der Tipp mit "../../test/resources" leider nicht richtig.

Alles was unter src/test/resoruces liegt wird in den CP eingebunden, nach dem Bauen, also in Jar Form, gibt es kein src/.. mehr.

Falls es sich wirklich um Maven2 handelt, sollte man auch keine Projektstruktur kaputt machen, ähh.. "anpassen".
 
Falls es sich wirklich um Maven2 handelt, sollte man auch keine Projektstruktur kaputt machen, ähh.. "anpassen".

Hab an der Struktur an sich nichts geändert, hab nur einen unterordner vergessen anzugeben. 🙂
Und ja, ist ein Maven Projekt..

Danke
 
Und ja, ist ein Maven Projekt..
Wie gesagt, dann ist es falsch was du machst 😉

Was hast du denn vor?
mvitz Frage ob du nur lesen möchtest oder auch schreiben ist wichtig.
Kurz: Wenn du nur lesen möchtest, dann befolge mvitz Rat, denn der ist richtig.
Wenn du schreiben möchtest, ist grundsätzlich was falsch.
 
Was hast du denn vor? [..]

EIn XML soll Schritt für Schritt geparsed werden und die einzelnen Element rausziehen. Moment ist das in etwa so:

Java:
Document doc = SaxBuilder.build(>Pfad zur Datei<);

und dann geh ich die Elemente des XML durch..

Java:
doc.getRootElement().getChild()...

Kurz: Wenn du nur lesen möchtest, dann befolge mvitz Rat, denn der ist richtig.
Gibts vllt noch ne gratis Erklärung dazu? 😳 😉

Danke..Grüße
 
Klar. Das XML File halt über den Classpath laden und dann verarbeiten.

Struktur des Projektes:

Code:
Root
 |- src/main/java
 |                 `- de.test.MainXmlParser
 `- src/main/resources
                     `- test.xml

Dann kannst du in MainXmlParser folgendermaßen das XML parsen:

Java:
...
  public static void main(String[] args) {
    InputStream in = MainXmlParser.class.getClassloader().getResourceAsStream("test.xml");
    Document doc = SaxBuilder.build(in);
    ...
  }
...

Dann musst du dich um eine Ordnerstruktur nicht mehr kümmern. Anstatt von test.xml geht auch meinOrdner/test.xml usw. aber dann halt relativ zum Classpath.
 
Ah, jetzt wirds klar.. getResource() kuckt standardmäßig im classpath, wusst ich bisher auch nicht.

Vielen Dank für die Antworten
 

Neue Themen


Zurück
Oben