2013-03-28 14 views
5

Ho una web app incorporata (versione 8.1.8) che sto confezionando come jar e che usa JSP per il suo frontend. È costruito con la versione 3.0.3 di Maven. Il problema è che quando faccio: mvn package include tutto tranne i miei file * .jsp. Ho provato a trasferirli in posti diversi ma senza fortuna.Perché non includere i file JSP nel mio barattolo?

Ho provato ad aggiungere <include>src/main/java/**/*.jsp</include> alla sezione maven-compiler-plugin del mio pom. Ma anche questo non ha avuto alcun effetto.

C'è un modo per essere certi che i file jsp siano inclusi?

+0

Usi 'vaso Maven Plugin' o' Maven Plugin' guerra creare il file jar? –

+0

Sto usando 'maven-jar-plugin' – klactose

risposta

10

La mia soluzione era quella di aggiungere i file jsp a src/main/webapp e aggiungere il seguente frammento nel file pom:

<build> 
    <resources> 
     <resource> 
     <directory>src/main/webapp</directory> 
     </resource> 
     ... 
    </resources> 
    ... 
</build> 
4

cercare di posizionare .jsp in src/main/risorse, Maven ignora tutti ma .java file in src/main/java

+0

hmmm, appena provato. Non sembra che la directory src/main/resources sia stata aggiunta al jar. Sto controllando i contenuti usando il comando jar – klactose

+0

Usa '$ mvn clean package' per creare il file jar, quindi testarne il contenuto. Uno dei plugin configurati sta causando i problemi che stai vedendo. Inizia con no '', quindi aggiungi ciascun plug-in fino a quando non si interrompe nuovamente. Quindi aggiusta la configurazione del plugin specifico. –

+0

così al fine di ottenere la cartella src/main/risorse di presentarsi in mio vaso in realtà ho dovuto aggiungere quella cartella alla pom in questo modo: ' src/main/risorse ...' – klactose

0

Il Usage:How to include/exclude content from jar artifact ci dà la seguente: -

Specifica un elenco di fileset patterns da includere o escludere aggiungendo <includes>/<include> o <excludes>/<exclude> nel numero pom.xml.

<project> 
    ... 
    <build> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <includes> 
      <include>**/service/*</include> 
      </includes> 
     </configuration> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
    ... 
</project> 

Spero che questo può aiutare.

+0

questo non sta facendo il trucco ... Ho il mio file index.jsp nella radice di src/main/cartella java, quindi ho pensato che ' src/main/java/*. jsp' dovrebbe funzionare ... ma non è così. – klactose

+0

Mi scuso molto poiché la mia risposta non è corretta. Non ho notato che si tratta di un attacco * .jsp. Si prega di utilizzare la soluzione di @Evgeniy Dorofeev. L'ho provato Index.jsp da src/main/resources viene copiato nel file jar. –

+0

strano. semplicemente aggiungendo index.jsp a src/main/resources non aggiunge il file al mio jar ... come hai fatto a testarlo? Ho persino provato con l'aggiunta di ' src/main/resources/*. Jsp' alla configurazione 'maven-jar-pligin' ... ancora nulla – klactose

Problemi correlati