我必须创建一个动态的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>
来摆脱这个错误,但我甚至不知道这个是做什么的。为什么这个原型会出错?
请问!
答案 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>