Проблема с ушами - PullRequest
       7

Проблема с ушами

1 голос
/ 27 июля 2011

Я заканчиваю сборку проекта (с Maven), и он работает отлично.Теперь мне просто нужно «упаковать это», как ухо.

Все, что мне нужно сделать, это пакет 3 зависимостей, один .jar и 2 .war.Не спрашивайте меня, как это было раньше (с помощью ant), и я перевожу это на maven - затем я организую пакеты, чтобы мы могли быть более продуктивными.

Однако у меня есть несколько проблем.Во-первых, пакет называется null - $ {version} .ear.Он копирует себя прямо в хранилище, но в целевой папке ошибочно назван.И во-вторых, он копирует все другие зависимости пакетов.Я хочу знать, что я могу сделать с пустым именем и копированием пакетов.

Вот мой пом:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>owner</groupId>
        <artifactId>coreisp</artifactId>
        <version>2.0</version>
    </parent>
    <groupId>owner</groupId>
    <artifactId>coreisp-app</artifactId>
    <packaging>ear</packaging>
    <version>2.0</version>
    <name>Projeto CoreISP</name>
    <dependencies>
        <dependency>
            <groupId>${pom.groupId}</groupId>
            <artifactId>coreisp-core</artifactId>
            <version>${pom.version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>${pom.groupId}</groupId>
            <artifactId>coreisp-initializer</artifactId>
            <type>war</type>
            <version>${pom.version}</version>
        </dependency>
        <dependency>
            <groupId>${pom.groupId}</groupId>
            <artifactId>coreisp-site</artifactId>
            <type>war</type>
            <version>${pom.version}</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>${application.id}-${pom.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <modules>
                        <jarModule>
                            <groupId>owner</groupId>
                            <artifactId>coreisp-core</artifactId>
                            <includeInApplicationXml>
                            true
                            </includeInApplicationXml>
                            <bundleDir>/</bundleDir>
                        </jarModule>
                        <webModule>
                            <groupId>owner</groupId>
                            <artifactId>
                            coreisp-initializer
                            </artifactId>
                            <bundleDir>/</bundleDir>
                        </webModule>
                        <webModule>
                            <groupId>owner</groupId>
                            <artifactId>
                            coreisp-site
                            </artifactId>
                            <bundleDir>/</bundleDir>
                        </webModule>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

1 Ответ

1 голос
/ 27 июля 2011

Прежде всего, удалите элемент из вашего POM, свойство application.id - это то, что дает вам «нулевое» имя.

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

...