как удалить .jsp из файлов .jar после обработки оверлея - PullRequest
1 голос
/ 16 декабря 2010

У меня есть модуль maven с именем views, содержащий один файл .jsp \ Calendar.jsp. У меня есть другой модуль maven с именем core, который зависит от модуля views. Тип упаковки модуля views - jar, а типа core - war.

Я настроил overlay для копирования файлов .jsp из views.jar в папку WEB-INF \ views (из core.war).

<configuration>
        <overlays>
            <overlay>
                <groupId>org.opensource</groupId>
                <artifactId>views</artifactId>
                <type>jar</type>
                <includes>
                    <include>**/*.jsp</include>
                </includes>
                <targetPath>WEB-INF/views</targetPath>
            </overlay>
        </overlays>
</configuration>

Конфигурация overlay работает нормально и копирует .jsp файлы из views.jar в папку WEB-INF \ views (из core.war).

Но проблема в том, что он не удаляет эти файлы .jsp из views.jar. Итак, мой core.war заканчивается дубликатами файлов .jsp (одна копия в папке WEB-INF / views и другая копия в views.jar). В результате размер core.war резко увеличивается. (Файлы .jsp, которые находятся в views.jar, являются избыточными, потому что они не будут использоваться во время выполнения веб-приложения.)

Итак, вопрос: - Как настроить overlay для выполнения Вырезать + Операция вставки вместо Копирование + Операция вставки. Если это невозможно сделать с помощью overlay, есть ли другое (дружественное к Maven) решение?

1 Ответ

1 голос
/ 16 декабря 2010

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

Есть еще один способ решить эту проблему - сделать шаг назад и посмотреть на свой модуль представленийснова.Что вам действительно нужно сделать, так это создать два jar-файла с модулем views, один из которых содержит все классы, другой содержит только файлы JSP и сохраняет этот артефакт с помощью классификатора.Возможно, вам придется использовать плагин сборки для этого.В модуле Core возьмите артефакт JSP с классификатором, а затем используйте его для наложения создания модуля войной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...