2009-04-22 13 views
10

Sto usando maven2 per la gestione delle dipendenze. Ho un progetto che contiene alcuni file Java e alcuni file jsp e un altro progetto, un progetto web, che dipende dal primo progetto. Come posso accedere ai file jsp dal progetto web?maven, file jsp in dipendenza

Vedo che i file jsp vengono aggiunti a 1-0-SNAPSHOT-sources.jar e non 1-0-SNAPSHOT.jar (che viene aggiunto come dipendenza nei progetti web pom.xml).

+0

come fa esattamente il secondo progetto "dipendono" sulle JSP? Cosa fa con loro? Includerli? Analizzali? Qualcos'altro? – kazanaki

risposta

13

Penso che il modo migliore Maven per farlo sarebbe quello di inserire i file JSP nel progetto web in/src/main/webapp. Se per qualche motivo non è possibile, puoi utilizzare lo Maven Dependency Plugin per copiare i file necessari nella tua webapp. Oppure, se si dispone comunque di un progetto WAR, è possibile utilizzare uno Overlay per copiare i file JSP. La seconda opzione (che vi consiglio), sarebbe simile a questa:

<build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
      <overlays> 
       <overlay> 
       <groupId>myGroupId</groupId> 
       <artifactId>myArtifactId</artifactId> 
       <type>jar</type> 
       <includes> 
        <include>**/*.jsp</include> 
       </includes> 
       <targetPath>WEB-INF/pages</targetPath> 
       </overlay> 
      </overlays> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
+0

grazie per la risposta. La sovrapposizione di WAR era la soluzione giusta per il progetto. – vpalle

+2

Felice di aiutare. Che ne dici di un upvote quindi ...;) –

+0

+1 Grazie mille per la soluzione :) – dira

0

Il problema di questa soluzione è che quando sviluppando con Eclipse, il progetto non gestisce la sovrapposizione. Quindi, le jsp non sono accessibili.

0

Volevo alcuni file da un progetto JAR di dipendenza nel mio progetto WEB.

Ho fatto in questo modo in modo che potessi avere i file non solo durante il confezionamento di WAR ma anche quando si esegue il plugin del contenitore di servlet maven (ad es. Jetty: run o tomcat: run).

Quindi, ecco cosa ha funzionato per me:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.1</version> 
    <executions> 
     <execution> 
      <id>copy-files-to-webapp-directory</id> 
      <phase>compile</phase> 
      <goals> 
       <goal>unpack</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
        <artifactItem> 
         <groupId>com.my.project</groupId> 
         <artifactId>my-amazing-project</artifactId> 
         <type>jar</type> 
         <overWrite>true</overWrite> 
         <outputDirectory>src/main/webapp</outputDirectory> 
         <includes>**/*.jsp, **/*.css, **/*.png</includes> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Speranza che aiuta tutti coloro che cercano una soluzione simile

Problemi correlati