создание файла войны с использованием maven-ear-plugin и определение его в одном файле pom.xml - PullRequest
2 голосов
/ 12 апреля 2011

Я на начальном уровне использования maven.Я надеюсь, что смогу объяснить свою проблему ясно, я хочу создать файл с ухом, в котором содержится файл войны.И я планировал использовать для создания файла войны с самого начала.Также я хочу сделать это в моем pom.xml в моем проекте, и есть только один pom.xml, вот проблема:

  1. Могу ли я создать файл ear и который содержит эту войну, которую я создалв то же время в одном файле pom.xml?
  2. , когда я пытаюсь создать файл war в теге webmodule, возникает проблема, с которой я сталкиваюсь "Артефакт [war: denem.denem: denem] не является зависимостьюпроекта."Я так понял, поэтому я добавил зависимость для этого файла в тот же файл pom.xml, но на этот раз я столкнулся с этой проблемой

(Кстати, моя команда для создания этого pom - "mvn clean package")

"1 обязательный артефакт отсутствует.

для артефакта:

com.denem.denem:com.denem.de2:ear:v0.1"

Он пытается найти этот файл войны, но я хочу создать его, а не найти его. Здеськод в моем файле pom.xml;

<parent>
    <groupId>denem.denem</groupId>
    <artifactId>com.denem.denem</artifactId>
    <version>v0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>denem.denem</groupId>
<artifactId>com.denem.de2</artifactId>
<version>v0.1</version>

<packaging>ear</packaging>

<properties>
    <cxf.version>2.2.5</cxf.version>
</properties>
<dependencies>
    <dependency>
        <groupId>denem.denem</groupId>
        <artifactId>denem</artifactId>
        <version>v0.1</version>
        <type>war</type>
    </dependency>
</dependencies>
<build>
    <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <finalName>edu</finalName>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>denem.denem</groupId>
                        <artifactId>denem</artifactId>
                        <contextRoot>/WebContent</contextRoot>
                    </webModule>
                </modules>
            </configuration>
        </plugin>

    </plugins>
</build>

Наверное, я делаю много неправильного. Но если вы мне поможете, я буду рад. В любом случае, спасибо.

1 Ответ

2 голосов
/ 13 апреля 2011

Вам необходимо создать модульный проект. Создание:

  1. родительский проект типа "pom";
  2. дочерний проект типа "война";
  3. при необходимости дочерние проекты типа "ejb";
  4. при необходимости дочерние проекты типа "jar" (общие библиотеки);
  5. один проект типа "ear", который имеет все вышеперечисленное как зависимости.

В последнем вам нужно настроить плагин ear, поместив все необходимые вам модули.

...