Mam aplikację internetową Java, w której mam kilka folderów w standardowym katalogu źródłowym aplikacji webapp (src/main/webapp)
, których nie chcę kopiować do wojna (exploded
lub packaged
).Jak wykluczyć pliki, które mają być kopiowane, przez maven, do wybuchu wojny
Jednym z powodów, dla których nie chcę kopiować tych plików, jest to, że uruchamiamy kompresor YUI JS & w plikach .js i .css w czasie wojny eksplodowanej. Pliki, które chcę wykluczyć, generują błędy podczas fazy kompresji. Innym powodem, dla którego nie chcę, aby włączyli się do wojny, jest to, że wspierają testowanie aplikacji JS na jednej stronie, która funkcjonuje w aplikacji internetowej (są to skrypty testowe JS po stronie klienta, które polegają na node
/angular.js
).
Poniżej znajdują się odpowiednie sekcje z POM.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>parent-resources</id>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
</configuration>
<phase>generate-sources</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
Próbowałem bezskutecznie użyć warSourceExcludes
wykluczyć pewne ścieżki, ale bezskutecznie. Przykładem mojego użytkowania przedstawiono poniżej, gdzie client/
jest folder bezpośrednio pod src/main/webapp
:
<configuration>
...
<warSourceExcludes>
<excludes>
<exclude>
client/
</exclude>
</excludes>
</warSourceExcludes>
...
</configuration>
Co to jest poprawny sposób, aby wykluczyć pewne ścieżki, i czy poszczególne pliki w katalogu web app źródłowego z wchodzących w wybuchła wojna?
UPDATE
Opierając się na sugestię ze @maba I zaktualizowaną konfigurację następująco:
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
<warSourceExcludes>client/</warSourceExcludes>
</configuration>
Folder, client/
, nadal jest uzyskiwanie skopiowane. Jakieś pomysły?
warSourceExcludes jest udokumentowana jako ciąg oddzielonych przecinkami, więc nie powinno być żadnych XML tam . http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html –
pytanie zostało zaktualizowane, aby odzwierciedlić poprawne użycie - nadal nie działa dla mnie. – Kris
Podejrzewam, że istnieje kolejny problem z moim 'pom.xml'. Sprawdzę, czy w tych tygodniach z nieskazitelnym projektem wygenerowanym przez archetyp – Kris