maven的J2ee 6 ear原型

maven的J2ee 6 ear原型,maven,jakarta-ee,ejb,Maven,Jakarta Ee,Ejb,我有一个j2ee项目,它有3个模块: 包含两个其他模块的EAR模块 一个EJB.jar模块 和WEB.war模块 我的IDE是intellij,我使用ant来构建我的项目 现在我想把我的项目改成一个基于Maven的项目,我搜索了很多东西,找到了很多j2ee的原型,但它们都或多或少有我想要的东西 我想知道如何将我的J2EE6项目转换为基于maven的,然后如何构建它并使用它。 如果有人对此有任何想法或有一些好的文档,我将不胜感激。如果您查找j2ee6原型,您可能会遇到与您的结构不匹配的问题。问题是

我有一个j2ee项目,它有3个模块: 包含两个其他模块的EAR模块 一个EJB.jar模块 和WEB.war模块

我的IDE是intellij,我使用ant来构建我的项目

现在我想把我的项目改成一个基于Maven的项目,我搜索了很多东西,找到了很多j2ee的原型,但它们都或多或少有我想要的东西

我想知道如何将我的J2EE6项目转换为基于maven的,然后如何构建它并使用它。
如果有人对此有任何想法或有一些好的文档,我将不胜感激。

如果您查找j2ee6原型,您可能会遇到与您的结构不匹配的问题。问题是ee6简化了应用程序的打包,使EJB直接放入.WAR文件成为可能。应用程序的结构基本上更像ee5。不过,你可能有很多很好的理由保持这种状态。例如,您可能希望在某个时候在单独的服务器上部署EJB。无论如何,您可能想看看生成j2ee5项目的原型,如下所示

mvn archetype:generate -DarchetypeCatalog=http://javaee5-maven-archetype.googlecode.com/svn/repository/archetype-catalog.xml
下面是输出

mvn archetype:generate -DarchetypeCatalog=http://javaee5-maven-archetype.googlecode.com/svn/repository/archetype-catalog.xml
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://javaee5-maven-archetype.googlecode.com/svn/repository/archetype-catalog.xml -> pl.piotrsorobka.maven:javaee5-maven-archetype (Archetype - javaee5-maven-archetype)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :**1**
Define value for property 'groupId': : com.test.ee6
Define value for property 'artifactId': : test-ee6-app
Define value for property 'version': 1.0-SNAPSHOT:
Define value for property 'package': com.test.ee6:
Confirm properties configuration:
groupId: com.test.ee6
artifactId: test-ee6-app
version: 1.0-SNAPSHOT
package: com.test.ee6
Y:y
这将为您创建一个可以导入IDE的项目结构。导入的方式取决于想法的版本。如果我没记错的话,从12.x版开始,你必须使用菜单“导入”来导入maven项目,但是如果你有Intellij Idea的早期版本,你必须创建一个新项目,然后选择一个类似“从现有源”的选项,然后选择maven。 然后需要创建一个新的运行/调试配置。这部分工作还取决于IDE的版本,但主要思想是一样的:您希望运行主pom.xml(位于项目根目录中)的“包”目标,并选择一个工件进行部署。在您的例子中,它是.EAR文件

在IDE中运行此项目后,可以将源代码替换为要转换为maven项目的源代码,并将所有必要的依赖项添加到相应的pom.xml文件中

这是实现你需要的一种方法。希望有帮助

注意:这里我假设您的maven版本是2.2.x。Maven3需要稍微不同的程序


另一个注意事项:如果您的开发人员机器上安装了多个版本的Maven,请确保Idea在文件->设置…->Maven中使用了正确的版本。你必须在那里检查Maven主目录。

我终于用这种方法完成了

在IDEA中,我选择新项目,然后选择maven,然后我添加自己的原型,如下所示:

archetypeGroupId=org.jboss.spec.archetypes

archetypeArtifactId=webapp ear空白原型

archetypeVersion=7.1.3.Final

它为我创建了一个基于Maven的EAR项目,它是空白的,有三个模块:EAR、EJB(jar)、WEB(WAR) 我的appserver是JBOSS 7.1.3,所以它和我想要的完全一样


我也很欣赏@jjd

我是maven新手,我不知道如何制作这些东西,我想要一个简单的j2ee maven项目,我可以将它导入到我的IDE中,并将其更改为我想要的方式want@omidhaghighatgoo只需从命令行运行我前面编写的命令(mvn原型:generate…)即可(以防万一maven的bin目录应该在您的路径中)。它将以您在问题中提到的结构在当前目录中为您生成j2ee5项目。然后您可以根据maven为您生成的内容创建Intellij Idea项目。