Ear项目动态Web应用程序和maven

时间:2016-05-10 12:13:08

标签: java eclipse maven web-applications ear

我必须创建一个动态的Web应用程序。我必须从中创建一个ear-file。我也想用maven。在eclipse中这样做的最佳方法是什么?

我找到了" maven-archetype-j2ee-simple"原型(Create complete EAR Project with Maven and Eclipse Helios)。有人能告诉我我必须放在哪个文件夹(控制器,测试,jsp-sites,java类)以及如何创建ear-file。

如果我运行maven,我会收到错误

 Child module */site of */pom.xml does not exist

我只需要删除根pom.xml中的<module>site</module>来摆脱这个错误,但我甚至不知道这个是做什么的。为什么这个原型会出错?

请问!

1 个答案:

答案 0 :(得分:1)

这个原型似乎有一个错误(ejb模块看起来很老),你可以从父pom中删除站点模块,我认为它应该是一个maven站点。

但我建议你不要使用这个原型。

从maven-archetype-webapp创建一个war项目,然后创建你自己的父项和你自己的ear项目来打包战争。

父母看起来像这样:

<modules>
        <module>poc-war</module>
        <module>poc-ear</module>
</modules>

耳朵pom会依赖战争项目,并使用maven 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>net.isban</groupId>
                <artifactId>poc</artifactId>
                <version>1.0-SNAPSHOT</version>
        </parent>

        <artifactId>poc-ear</artifactId>
        <packaging>ear</packaging>

        <description>EAR deployment </description>
        <name>FMIS EAR</name>

        <dependencies>
                <dependency>
                        <groupId>net.isban</groupId>
                        <artifactId>poc-war</artifactId>
                        <version>${project.version}</version>
                        <type>war</type>
                </dependency>
        </dependencies>

        <build>
                <finalName>${project.artifactId}-${project.version}</finalName>
                <plugins>
                        <plugin>
                                <artifactId>maven-ear-plugin</artifactId>
                                <version>2.10.1</version>
                                <configuration>
                                        <skinnyWars>false</skinnyWars>
                                        <filtering>true</filtering>
                                        <modules>
                                                <webModule>
                                                        <groupId>net.isban</groupId>
                                                        <artifactId>poc-war</artifactId>
                                                        <contextRoot>/poc</contextRoot>
                                                </webModule>
                                        </modules>
                                </configuration>
                        </plugin>
                </plugins>
        </build>

</project>