2015-10-13 9 views
9

Ich habe ein Maven-Projekt mit einem Eltern-Pom-Projekt und 3 Maven-Modul-Projekten darin. 2 der Module sind Java-EE-Web-Apps, die in WAR-Dateien kompiliert werden. Eines der Module enthält einen gemeinsamen JAVA-Code, der von den beiden anderen Projekten gemeinsam genutzt wird. Den JAVA-Code zu teilen war einfach.Statische Ressourcen zwischen Maven-Modulen teilen

Die Frage, die ich habe, ist wie eine gemeinsame statische Ressourcen wie JavaScript, CSS und Bilddateien teilen, ohne sie in jedem Web-Modul zu duplizieren? Ich möchte es auch so machen, dass ich die Web-App von Eclipse weiter ausführen kann und Änderungen an den statischen Dateien vornehmen kann, die dem laufenden Server von Eclipse automatisch zur Verfügung stehen.

Antwort

4

Try this:

1.

|-- pom.xml 
    |-- appsweb1 (war) 
    |-- appsweb2 (war) 
    |-- common (jar) 
     |-- src/main/java 
     |-- src/static_files 
     |-- pom.xml 
  1. hinzufügen in pom appsweb1, appsweb2, oder es in pom Eltern hinzufügen und nur groupId hinzufügen, artifactId in Kind :
<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.4.2</version> 
     <executions> 
      <execution> 
       <id>default-copy-resources</id> 
       <phase>process-resources</phase> 
       <goals> 
        <goal>copy-resources</goal> 
       </goals> 
       <configuration> 
        <overwrite>false</overwrite> 
        <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/static_files</outputDirectory> 
        <resources> 
         <resource> 
          <directory>../common/src/main/static_files</directory> 
         </resource> 
        </resources> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 
</plugins> 

Dokumentation auf der Maven Ressource Plugin: https://maven.apache.org/plugins/maven-resources-plugin/

+0

Muss ich dies jedes Mal ausführen, wenn ich die statischen Dateien bearbeite, oder wäre Eclipse intelligent genug, um die Datei automatisch zu verschieben, wenn sie sich ändert? Ich bin besorgt, dass ich Änderungen, die ich an den Dateien mache, schnell entwickeln/testen kann. – Eric

+1

U kann WebJars verwenden –

+0

Ich bin vertraut mit der Verwendung/Erstellen von WAR-Dateien, aber ich habe noch nie von WebJars gehört. Können Sie mich auf ein Beispiel oder eine Dokumentation zur Verwendung hinweisen? – Eric