2012-11-20 18 views
6

Ho un progetto mavenized con la confezione vaso, hanno layout standard:Maven Come includere/src/main/risorse

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

Quando eseguo: mvn package

mi aspetto il vaso risultante (non -executing) per includere la cartella delle risorse e tutto ciò che si trova all'interno della cartella dal progetto (ad esempio alcuni file xml), ma quando apro il file jar vedo solo la cartella com e il contenuto della cartella delle risorse nel livello più alto ...

Penso che quanto sopra sia predefinito per maven3, ma voglio includere la cartella resources nel file jar ...

+0

per favore mostra il tuo pom.xml, in particolare la sezione 'build' –

risposta

12

Non vedrai src/main/resources nel file jar risultante.

Vedrai solo il contenuto di src/main/resources nel file jar.

Quindi, se non hai creato una struttura di pacchetto per i tuoi file di risorse e scaricato tutto nella directory src/main/resources, vedrai i tuoi file di risorse al livello più alto del tuo jar.

Se si desidera che le risorse vengano visualizzate in una determinata directory nel file jar risultante, creare tale directory nella struttura src/main/resources.

+0

.. è quello che pensavo ... grazie – user1800734

+0

ma come posso farlo? faccio a creare cartelle, pacchetti, ...? e poi, non posso copiare il mio file di proprietà in quella struttura !? – Pete

+0

@Pete. Sì, crei le cartelle sotto 'src/main/resources'. E ricorda che in Java un pacchetto è solo un alias di fantasia per l'albero delle directory. Quindi se il nome del pacchetto è 'org.mycompany.mypackage', e c'è bisogno di' myproperteis.properties', allora il percorso per quel file dovrebbe essere 'src/main/resources/org/mycompany/mypackage/myproperties.properties' –