2012-03-20 3 views
2

У меня есть довольно специфическая проблема. Я создал webapp и хочу иметь сборку флеш-памяти из дополнительных классов для веб-войны. Нет проблем, я сделал что:Maven webapp - Исключить ресурсы java из jar, полученные из webapp

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.2</version> 
     <configuration> 
     <attachClasses>true</attachClasses> 
     </configuration> 
    </plugin> 

тем и ресурсы от SRC/основные/ресурсы идут в банку. Но поскольку эти ресурсы предназначены только для этого веб-приложения, я не хочу их в банке. Я мог бы переместить их в папку webapp src, но мне нужно отфильтровать файл свойств, поэтому он должен быть папкой ресурсов и, следовательно, включен в сборку war/jar.

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

Я попытался исключить их путем настройки Maven-Jar-плагин:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <excludes> 
     <exclude>**properties</exclude> 
     </excludes> 
    </configuration> 
    </plugin> 

отлично работает для сингулярной банки строить по банке: банка, но, к сожалению, не для фляги сборки, проделанный установите фазу.

Есть ли способ применить эти конфигурации к плагину maven-war?

Я знаю, что могу расширить конфигурацию, добавив выполнение для создания фляги, локального ее установки и развертывания в удаленном репозитории, но это немного беспорядок.

Любая помощь приветствуется.

ответ

2

Один из способов сделать это - переместить источники Java в отдельный проект, который затем включается в проект WAR как зависимость. Таким образом, у вас есть контроль над тем, что входит в JAR-файл, и вы можете сохранить другие файлы в проекте WAR, применить фильтрацию и т. Д.

Я обнаружил, что разделение функциональности на мелкозернистые проекты часто является наилучшим способом решения вместо того, чтобы настраивать несколько плагинов со сложной конфигурацией, чтобы сделать то же самое. Если это требует сложной настройки, это, вероятно, неправильный путь. Старайтесь держать его простым :-)

+0

Да. Уже думал об этом. Я хотел ограничить количество моих проектов, но так оно и есть проще. Благодарю. –

Смежные вопросы