2016-05-29 15 views
-2

Ich habe einen alten Java-Code, den ich an Maven Build-System portieren muss. Für Ressourcen des Code verwendet org.jdesktop ResourceMap Klasse wie folgt erreichbar:Lesen von Ressourcen in Java

ResourceMap resourceMap = getResourceMap(); 
    int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); 

welchen Ressourcenordner übernimmt direkt im selben Ordner wie die Klassendatei, die es aufruft. Maven kopiert jedoch gerne Ressourcen in das root der JAR-Datei. Daher kann die ResourceMap-Klasse es nicht finden. Was ist die einfachste Lösung dafür? Gibt es eine Möglichkeit, Maven so zu konfigurieren, dass der Ressourcenordner nicht in das root des jar, sondern in einen bestimmten Ordner im jar kopiert wird? Oder kann ich ResourceMap so konfigurieren, dass der Ressourcenordner an anderer Stelle durchsucht wird.

+0

* "Maven kopiert jedoch gerne Ressourcen in das root der JAR-Datei." * Wirklich? Ich würde es wirklich überraschend finden, wenn das mehr als ein 'Standard' Ort wäre. Nebenbei bemerkt, kann eine Ressource in der Wurzel des Glases leicht aus irgendeinem Paket gefunden werden, indem dem Namen ein führendes '/' hinzugefügt wird. Das '/' repräsentiert die Root/Top-Ebene des Klassenpfades. –

+0

"Wirklich?" Denken Sie nicht, dass dies eine unangemessene Reaktion und ein starker Indikator für Ihre innere Unsicherheit ist? Wenn Sie der Meinung sind, dass die Frage fehlt oder nicht vorhanden ist, wählen Sie sie einfach negativ oder kommentieren Sie sie. – happycoder

+0

* "denkst du nicht, dass dies eine nicht angemessene Antwort ist" * Nein, tue ich nicht. * "und ein starker Indikator für Ihre innere Unsicherheit?" * LOL! Lies das in einem Jahr oder so. Ich hoffe, es ist genauso lustig für dich wie für mich. :) –

Antwort

0

Ja, setzen Sie es unter src\main\resources\specific\folder\inside\the\jar.

Dies ist, da src\main\resources der Maven-Standard für enthaltene Ressourcen ist, und die Pfadstruktur darunter ist in der Jar reflektiert.

Verwandte Themen