Зачем использовать родительский файл pom при создании файла ear? - PullRequest
3 голосов
/ 08 марта 2012

Я читал этот вопрос на SO - Как добавить WAR в EAR с Maven

В топе проголосовал ответ "joelittlejohn" -

"Сейчассоздайте родительский модуль (с pom) и добавьте к нему модуль war и модуль ear. Убедитесь, что вы правильно установили родительский модуль модулей war и ear. Когда вы запустите пакет mvn для этого нового родителя, будет создан файл warмодулем war и файл ear (содержащий войну) будет создан модулем ear. "

Но зачем создавать родительский pom?Почему бы просто не создать стандартный проект Maven только с одним pom.Этот единственный pom-файл содержит зависимости и модули, а затем генерирует .ear-файл из этого одного pom-файла?

Что-то вроде:

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <finalName>MyEarFile</finalName>
        <version>5</version>
        <generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
        <modules>
            <webModule>
                <groupId>com.your.group.id</groupId>
                <artifactId>your-war-artifact</artifactId>
                <uri>YouWarFile.war</uri>
                <bundleFileName>YouWarFile.war</bundleFileName>
                <contextRoot>/appname</contextRoot>
            </webModule>
        </modules>
    </configuration>

    <dependencies>
    <dependency>
    <groupId>com.your.group.id</groupId>
    <artifactId>your-war-artifact</artifactId>
    <version>your-war-version</version>
    <type>war</type>
    </dependency>
    </dependencies>

</plugin>

1 Ответ

1 голос
/ 08 марта 2012

Для maven характерно иметь модуль для каждой войны, которую вы хотите построить.И тогда файл .ear будет содержать несколько войн.Таким образом, наличие каждого модуля обеспечивает хорошее разделение обязанностей.Родительский помпон просто оборачивает все это вместе.

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