Модульное веб-приложение Struts 2 - PullRequest
2 голосов
/ 06 марта 2012

Я использую веб-приложение Struts 2.Он имеет много модулей и функциональности.Я хочу включить или отключить (или удалить) некоторые модули в зависимости от требований клиента.Но в Struts 2 при развертывании одного файла WAR как сделать его модульным?Можно ли вынуть некоторые модули во время развертывания ??

Заранее спасибо.

1 Ответ

1 голос
/ 12 февраля 2013

Если вы используете Maven, то можете исключить некоторые классы / пакеты из результирующей WAR, а также иметь несколько целей и таким образом исключить различные подмножества кода.

Этот метод предполагает, чтовы либо оставляете функциональность разделенной на несколько файлов определений действий "struts.xml" ИЛИ a, если вы используете плагин соглашений Struts2 с аннотациями и т. д., в результате вы получаете очень хорошее решение.

Итак, в pom.xml высначала нужно исключить все модули:

<build>
    <finalName>badNameUseBuildProfileInstead</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/struts-module1.xml</exclude>
                <exclude>**/struts-module2.xml</exclude>
                <exclude>**/struts-module3.xml</exclude>
            </excludes>
        </resource>
    </resources>
...

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

...

<profiles>
    <profile>
        <id>web</id>
        <build>
            <finalName>${project.artifactId}</finalName>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/struts-web.xml</include>
                    </includes>
                </resource>
            </resources>
            ...
...