Простое объединение файла WAR - перезапись первого файла WAR вторым файлом WAR - PullRequest
0 голосов
/ 16 июня 2011

Я хочу просто объединить два файла WAR, перезаписав соответствующие файлы в первом WAR файлами из второго WAR, т.е. выходной WAR будет содержать web.xml из второго WAR, если он там присутствовал.Я пытаюсь использовать Cargo-Maven2-плагин, но у меня есть проблемы с этим.В Cargo есть какой-то сложный механизм для слияния web.xml, и в большинстве случаев результат отличается от того, что мне нужно.

Я пробовал некоторые конфигурации Uberwar, подобные следующим:

1)

<uberwar>
<wars>
    <war>com.xyz:core-module</war>
    <war>com.xyz:core-extension-module</war>
</wars>
<merges>
    <merge>
        <type>web.xml</type>
        <parameters>
            <default>
                <tag name="servlet">
                    <strategy name="Overwrite" />
                </tag>
                <tag name="servlet-mapping">
                    <strategy name="Overwrite" />
                </tag>
            </default>
        </parameters>
    </merge>
</merges>
</uberwar>

2)

<uberwar>
<wars>
    <war>com.xyz:core-module</war>
    <war>com.xyz:core-extension-module</war>
</wars>
<merges>
    <merge>
        <type>web.xml</type>
        <parameters>
            <default>
                <tag name="servlet">
                    <strategy name="NodeMerge">
                        <servlet>
                            <servlet-name>$left:servlet-name</servlet-name>
                            <servlet-class>$right:servlet-class</servlet-class>
                        </servlet>
                    </strategy>
                </tag>
                <tag name="servlet-mapping">
                    <strategy name="NodeMerge">
                        <servlet-mapping>
                            <servlet-name>$left:param-name</servlet-name>
                            <url-pattern>$right:param-value</url-pattern>
                        </servlet-mapping>
                    </strategy>
                </tag>
            </default>
        </parameters>
    </merge>
</merges>
</uberwar>

В обоих случаях я не получаю то, что хочу, или даже что-то похожее на то, что я хочу.Ты хоть представляешь, что я делаю не так?Или, может быть, Cargo не является хорошим инструментом для этого ... знаете ли вы какие-либо другие инструменты, которые могли бы делать то же самое и могли бы быть интегрированы с Maven?Спасибо.

1 Ответ

1 голос
/ 18 июня 2011

Это можно сделать с помощью Maven War Plugin .Если порядок overlays не объявлен, порядок наложения войны начинается в том же порядке, объявляются зависимости.

Чтобы получить полный контроль над оверлеем, необходимо использовать элемент overlays .

...