2012-11-20 8 views
6

ich ein mavenized Projekt mit Glas Verpackung haben, haben Standard-Layout:Maven, wie include/src/main/resources

/src/main/java 
/src/main/resources 

Wenn ich ausführen: mvn package

ich das resultierende Glas erwarte (nicht (executing) Datei, um den Ressourcenordner und alles innerhalb dieses Ordners aus dem Projekt (dh einige XML-Dateien) einzuschließen, aber wenn ich die JAR-Datei öffne, sehe ich nur den COM-Ordner wo und den Inhalt des Ressourcenordners auf der obersten Ebene ...

Ich denke, das oben ist Standard für Maven3, aber ich möchte den resources Ordner in der JAR-Datei enthalten ...

+0

bitte zeigen Sie Ihre pom.xml, vor allem die 'build' Sektion –

Antwort

12

Sie werden src/main/resources in der resultierenden JAR-Datei nicht sehen.

Der Inhalt von src/main/resources wird nur in der JAR-Datei angezeigt.

Wenn Sie also keine Paketstruktur für Ihre Ressourcendateien erstellt und alles in das Verzeichnis src/main/resources ausgelagert haben, sehen Sie Ihre Ressourcendateien auf der obersten Ebene Ihres Jar.

Wenn Ihre Ressourcen unter einem bestimmten Verzeichnis in der resultierenden JAR-Datei angezeigt werden sollen, erstellen Sie ein solches Verzeichnis unter der Struktur src/main/resources.

+0

.. was ich dachte ... danke – user1800734

+0

aber wie kann ich das tun? erstelle ich Ordner, Pakete, ...? und dann kann ich meine Eigenschaftendatei nicht in dieser Struktur kopieren !? – Pete

+0

@Pete. Ja, Sie erstellen Ordner unter 'src/main/resources'. Und denken Sie daran, dass ein Paket in Java nur ein schicker Alias ​​für die Verzeichnisstruktur ist. Wenn also der Name des Pakets 'org.mycompany.mypackage' ist und Sie' myproperteis.properties' dort angeben, sollte der Pfad zu dieser Datei 'src/main/resources/org/mycompany/meinpaket/myproperties.properties' lauten –