我很难制作我的Maven2多模块项目,具有深层项目结构,显示为单个耳朵(具有依赖性 - 包括1个战争,2个ejbs和1个jar)将部署在我的我的Eclipse Ganymede中的JBOSS 5服务器(标签服务器)。
我一直在尝试使用Maven Eclipse插件将我的项目变成WTP项目但没有成功。因此,它们似乎部署在服务器中,它们显示为独立的项目。
我的项目有1个战争,2个ejbs和1个jar必须打包在耳内,每个“子项目”都是一个单独的模块。
Project的pom.xml(类型pom):
...
<modules>
<module>ejb1</module>
<module>ejb2</module>
<module>war</module>
<module>jar</module>
<module>ear</module>
</modules>
...
耳模块仅负责将其他模块包装在一起。
有没有办法告诉eclipse(ganymede)所有这些项目(ejbs,war和jar)都在ear模块中,所以我可以在服务器中部署耳朵?
答案 0 :(得分:2)
你想要做的是让maven通过mvn eclipse创建eclipse项目:eclipse This可能会有所帮助。
答案 1 :(得分:2)
尝试m2eclipse(google it)并安装WTP集成工具,使用maven向导创建项目,在pom xml编辑器中将类型更改为pom,从pom创建子模块并将其添加为子项,如果它是一个Web项目,它可以获得WTP行为,即它可以部署到j2ee容器(jboss / tomcat),在web模块中为web模块添加一个dep用于web pom等,将web应用程序部署到容器
答案 2 :(得分:2)
使用可选的WTP配置安装m2eclipse对我有用。我还将以下内容添加到我的父pom中,以确保eclipse文件中的正确性质和构建器
这会产生为m2eclipse准备好的eclipse .project文件。然后我可以使用m2eclipse更新项目文件,允许热部署webapp及其依赖项
<build>
...
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5.1</version>
<!--
Eclipse project natures: http: //vikashazrati.wordpress.com/2007/12/22/adding-project-nature-to-your-maven-pomxml/
Maven-eclipse-plugin: http: //maven.apache.org/plugins/maven-eclipse-plugin/
-->
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
<projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
<projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
<projectnature>org.eclipse.wst.jsdt.core.jsNature</projectnature>
<projectnature>org.maven.ide.eclipse.maven2Nature</projectnature>
</additionalProjectnatures>
<buildcommands>
<buildcommand>org.eclipse.wst.jsdt.core.javascriptValidator</buildcommand>
<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
<buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>
<buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
<buildcommand>org.maven.ide.eclipse.maven2Builder</buildcommand>
</buildcommands>
</configuration>
</plugin>
答案 3 :(得分:1)
在super pom项目中使用-dwtpversion = maven的2.0参数或命令行mvn -Dwtpversion = 2.0。我使用m2eclipse插件,但多模块项目有一些问题。我使用m2eclipse插件进行依赖管理。如果我想用超级pom清理,安装等所有项目,我在命令行上执行。项目属性也必须在eclipse中检查。 Project Facets,Java EE Module依赖项必须检查。您也可以导出到ear项目,但要小心检查maven模块是否在更改后编译。