2011-07-18 15 views
5

Istnieje opcja archiveClasses w wtyczce maven-war, która pakuje wszystkie klasy w pojedynczym pliku .jar, a następnie tworzy plik .war z tym słojem w katalogu lib /.Wtyczka Maven wojny: archiveClasses bez archiwizacji zasobów

Potrzebuję zrobić to samo, ale pozostawić pliki zasobów w katalogu klas, aby były nadal dostępne ze ścieżki klas, ale łatwe do modyfikacji.

Jaki jest najprostszy sposób to zrobić?

Odpowiedz

0

Powinieneś po prostu określić, gdzie są te zasoby. Zwykle wygląda w src/main/zasobów dla zasobów, ale jeśli trzeba je w drzewie źródłowym java można spróbować:

+0

Nie, nie. Są dokładnie w src/main/resources, ale chcę tylko, żeby były spakowane do pliku classes/directory wewnątrz pliku .war, podczas gdy pliki .class Java powinny znajdować się w katalogu .jar in lib /. – weekens

4

Może próbować skonfigurować folder zasobów jako WebResource w konfiguracji wtyczki .

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <archiveClasses>true</archiveClasses> 
     <webResources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <targetPath>WEB-INF/classes</targetPath> 
       <filtering>true</filtering> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 
+0

Działa, ale zasoby są również duplikowane w słoiku. – kolobok

0

można zrobić, jak rozwiązać ten problem:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <warName>${project.war.name}</warName> 
     <warSourceExcludes>**/*.class</warSourceExcludes> 
     <archiveClasses>true</archiveClasses> 
    </configuration> 
</plugin> 
2

Jedna linia odpowiedź: Brak możliwości przewidziane w maven-war-plugin aby wykluczyć zasobów ze słoika stworzonej przy użyciu archiveClasses flagę .

Ewentualny i najprostszy obejście tego problemu jest przeniesienie plików obecny pod src/main/java/resources katalogu do src/main/java/webapp/WEB-INF/classes katalogu.

Powiązane problemy