带WTP的多模块Maven2项目

我很难让我的Maven2多模块项目具有深入的项目结构,看起来像一个单一的耳朵(其依赖项 – 包括1个war,2个ejbs和1个jar)将部署在我的JBOSS 5服务器中在我的Eclipse Ganymede中(选项卡服务器)。

我一直在尝试使用Maven Eclipse插件将我的项目变成WTP项目但没有成功。 因此,它们似乎部署在服务器中,它们显示为独立的项目。

我的项目有1个战争,2个ejbs和1个jar必须打包在耳内,每个“子项目”都是一个单独的模块。

Project的pom.xml(类型为pom):

 ejb1 ejb2 war jar ear  

耳模块仅负责将其他模块封装在一起。

有没有办法告诉eclipse(ganymede)所有这些项目(ejbs,war和jar)都在ear模块中,所以我可以在服务器中部署耳朵?

你想要做的是让maven通过mvn eclipse创建eclipse项目:eclipse 这可能会有所帮助。

尝试m2eclipse(google it)并安装WTP集成工具,使用maven向导创建项目,在pom xml编辑器中将类型更改为pom,从pom创建子模块并将其添加为子项,如果它是web项目它获得WTP行为,即它可以部署到j2ee容器(jboss / tomcat),为web模块中的ejb模块添加dep模块,将web应用程序部署到容器

使用可选的WTP配置安​​装m2eclipse对我有用。 我还将以下内容添加到我的父pom中,以确保eclipse文件中的正确性质和构建器

这会产生为m2eclipse准备好的eclipse .project文件。 然后我可以使用m2eclipse更新项目文件,允许热部署webapp及其依赖项

  ...  maven-eclipse-plugin 2.5.1    org.springframework.ide.eclipse.core.springnature org.eclipse.jem.workbench.JavaEMFNature org.eclipse.wst.common.modulecore.ModuleCoreNature org.eclipse.wst.common.project.facet.core.nature org.eclipse.jdt.core.javanature org.eclipse.wst.jsdt.core.jsNature org.maven.ide.eclipse.maven2Nature   org.eclipse.wst.jsdt.core.javascriptValidator org.eclipse.jdt.core.javabuilder org.eclipse.wst.common.project.facet.core.builder org.eclipse.wst.validation.validationbuilder org.springframework.ide.eclipse.core.springbuilder org.maven.ide.eclipse.maven2Builder    

在超级pom项目中使用-dwtpversion = maven的2.0参数或命令行mvn -Dwtpversion = 2.0。 我使用m2eclipse插件,但多模块项目有一些问题。 我使用m2eclipse插件进行依赖管理。 如果我想用超级pom清理,安装等所有项目,我在命令行上执行。 项目属性也必须在eclipse中检查。 Project Facets,Java EE模块依赖项必须检查。 您也可以导出到ear项目,但要小心检查maven模块是否在更改后编译。