Ausführbare Jar läd die Ressource nicht

Jinairu

Mitglied
Moin moin Leute,
ich hätte ein Problem mit dem laden einer Ressource. Es ist kein Bild, sondern ein .ods sheet (OpenOffice).

Ich habs einfach in Eclipse ins Package rein gezogen und aus der IDE geht es wie immer wunderbar.
Es wird mit in die Jar beim exportieren hinzugefügt nur ich komm irgendwie nicht dran :/

Meine Ordnerstruktur sieht somit so aus:

Projekt
--------------src
--------------->core(package)
--------------------->Cass1
--------------------->Class2
--------------------->WorkSheet.ods

Ich benutze zum bearbeiten der ODS JOpenDocument.

Hier mein letzter Versuch:
Java:
	SpreadSheet createFromFile = SpreadSheet.createFromFile(new File(
					getClass().getResource("./WorkSheet.ods").toURI()));
			Sheet sheet = createFromFile.getFirstSheet();

hab schon, verzweifelter weise, jede mir bekannte Variation von getClass().getRessource() und getClass().getClassLoader().getRessource() durch, sprich:
/../core/WorkSheet.ods/
./core/WorkSheet.ods
core/WorkSheet.ods
/WorkSheet.ods
WorkSheet.ods
(...) uvm.

Die Google suche war überraschend erfolglos, damit konnte ich nichts anfangen. Am besten wäre eine "universallösung" für weitere Projekte :)
Bei Bildern war das ganze ja kein Problem, aber hier dran scheitere ich.

Vielen Dank,
Viele Grüße,
Jin
 
Zuletzt bearbeitet:

Ruzmanz

Top Contributor
Ich habe jetzt ehrlich gesagt nicht kappiert, welchen Pfad du jetzt tasächlich brauchst/willst. Gib die den Pfad mit deinem Logger oder in der Konsole aus, dann siehst du sofort wo die JVM deine Datei in der JAR sucht.
 
Zuletzt bearbeitet:

michaels

Mitglied
Sollte nicht "/core/WorkSheet.ods" funktionieren? Ohne Punkt mit führendem "/" für die absolute Angabe. Allerdings bin ich mir nicht sicher, ob du eine Datei aus einer JAR direkt für ein neues File-Objekt verwenden kannst (gibt es dabei keine Exception?). Evtl musst du die Datei erstmal zwischenspeichern.
Gruß
 

Jinairu

Mitglied
Vielen dank für eure Antworten.
@Ruzmanz
Ich weiß leider auch nicht, welchen Pfad ich brauche, bzw ob das so überhaupt klappt. Ich weiß nur, dass das, was ich bis jetzt probiert hab nicht funktioniert. Wie soll ich denn den Pfad einer Datei ausgeben lassen, die ich nicht ansteuern/finden kann. Meinst du, ich soll die Jar einlesen, die Files alle auflisten bzw nach deren Pfaden suchen?

@michaels
nein, leider funktioniert das nicht. Ich bekomme zwei unterschiedliche exceptions.
1. java.lang.IllegalArgumentException: URI is not hierarchical bei "/core/file.ods"
2. java.lang.NullPointerException bei "/file.ods"

Das interpretiere ich so, dass /file.ods ein treffer ist, er die aber nicht laden kann wie du schon gesagt hattest

#beim schreiben kam mir die Idee durch deinen Post:

Java:
	try {
			File tempfile = File.createTempFile("temp", ".ods");
			tempfile.deleteOnExit();
			InputStream is = Objects.requireNonNull(getClass()
					.getResourceAsStream("workSheet.ods"), "Nich da");
			OutputStream os = new FileOutputStream(tempfile);

			byte[] buffer = new byte[is.available()];
			int bytesRead;
			while ((bytesRead = is.read(buffer)) != -1) {
				os.write(buffer, 0, bytesRead);
			}
			os.close();

			SpreadSheet createFromFile = SpreadSheet.createFromFile(tempfile);

Nun hab ichs unter verschiedenen Umständen getestet und scheint gut zu funktionieren.

Vielen dank noch einmal für den Hinweis,

viele Grüße,
Jin
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5
J Aus mehreren Klassen ein Datei ausführbare machen Allgemeine Java-Themen 6
L Eclipse Ausführbare .jar erezugen Allgemeine Java-Themen 5
A ausführbare jar Error Allgemeine Java-Themen 2
A Ausführbare Java-Datei aus Projekt und Datenbank Allgemeine Java-Themen 3
J Java Programm - ausführbare Jar Datei erstellen Allgemeine Java-Themen 2
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
C Eclipse Icons(PNG) mit in das ausführbare Jar File exportieren Allgemeine Java-Themen 7
B Ausführbare Jar erstellen Allgemeine Java-Themen 2
R Ausführbare Java Anwendung Allgemeine Java-Themen 27
E brauche schnell Ausführbare Datei Allgemeine Java-Themen 4
G ausführbare jar Allgemeine Java-Themen 12
S Ausführbare Scriptdatei unter Linux erstellen Allgemeine Java-Themen 6
S ausführbare Datei Allgemeine Java-Themen 15
D Plattformunabhängiges ausführbare Java-Applikation ohne jar Allgemeine Java-Themen 5
S ausführbare Datei aus Java-Programm starten Allgemeine Java-Themen 2
A Ausführbare Datei erzeugen Allgemeine Java-Themen 5
C Ausführbare jar bzw. Manifest Datei Allgemeine Java-Themen 3
T Font läd länger? Allgemeine Java-Themen 4
R Exec. Jar läd Bilder nicht! Allgemeine Java-Themen 5
N URLClassLoader läd falsche Klasse Allgemeine Java-Themen 3
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
D Pfad aus Ressource-Datei auslesen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben