Ich habe eine jar
Datei mit Ressourcen (hauptsächlich Konfiguration für Caches, Protokollierung usw.), die ich verteilen möchte.Zugriff auf JAR-Ressourcen
Ich habe ein Problem mit den relativen Pfaden für diese Ressourcen, so dass ich tat, was ich in einer anderen Frage Stackoverflow gefunden habe, die sagten, dass dies eine gültige Art und Weise ist:
ClassInTheSamePackageOfTheResource.class.getResourceAsStream('resource.xml');
Leider dies tut nicht arbeiten.
Irgendwelche Ideen? Vielen Dank!
PS: Natürlich kann ich nicht absolut verwenden Pfade, und ich möchte Umgebungsvariablen vermeiden, wenn möglich
Befindet sich die Ressourcendatei im selben Ordner wie die Klassendatei? Ist dies eine eigenständige Anwendung oder läuft sie auf einem Webserver? – kgiannakakis
Es ist in der Tat in dem gleichen Ordner. Es ist ein Jar, der in einer Webanwendung enthalten sein soll, ja (aber ich denke, das sollte irrelevant sein) –
Es ist relevant, dass die Regeln zum Durchsuchen von Ressourcen, die einer bestimmten Klasse zugeordnet sind, vom definierenden Klassenlader implementiert werden. Der Klassenloader Ihrer Webanwendung verhält sich also je nach Implementierung möglicherweise etwas anders. Nur ein Gedanke. –