我有一个有3个模块的j2ee项目: 包含另外两个模块的EAR模块 EJB.jar模块 和WEB.war模块
我的IDE是intellij,我用ant来构建我的项目
现在我想将我的项目更改为基于Maven的项目,我经常搜索并找到j2ee的许多原型,但所有这些原型都或多或少都有我想要的东西
我想知道如何将我的j2ee 6项目转换为maven,然后如何构建它并使用它。 如果某个机构对此有任何想法或有一些好的文件我很感激。
答案 0 :(得分:2)
如果您查找j2ee6原型,可能会遇到与您的结构不相符的问题。通过使EJB直接放入.WAR文件,可以简化应用程序的ee6简化包装。您的应用程序的结构基本上更像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。导入方式取决于IDEA的版本。如果我从版本12.x开始记得正确,你必须使用菜单“import”来特别导入maven项目,但是如果你有早期版本的Intellij Idea,你必须创建一个新项目,然后选择类似的选项。 “从现有来源”并选择maven。 然后,您需要创建一个新的运行/调试配置。这部分工作还取决于IDE的版本,但主要思想是相同的:您希望运行主pom.xml的“包”目标(位于项目的根目录中)并选择一个用于部署的工件。在你的情况下,它是.EAR文件。
在IDE中运行此项目后,可以将源代码替换为项目中要转换为maven项目的源,并将所有必需的依赖项添加到相应的pom.xml文件中。
这是实现您所需要的一种方式。希望有所帮助
注意:这里我假设您的maven版本是2.2.x. Maven3需要稍微不同的程序
另一个注意事项:如果您的开发者计算机上安装了多个版本的Maven,请确保Idea在File-> Settings ...-> Maven中使用正确的版本。你必须在那里检查Maven主目录。
答案 1 :(得分:0)
我终于通过这种方式完成了它
在IDEA中,我选择了新项目然后maven,之后我添加了我自己的原型:
archetypeGroupId = org.jboss.spec.archetypes
archetypeArtifactId = webapp-ear-blank-archetype
archetypeVersion = 7.1.3.Final
它为我提供了一个基于Maven的EAR项目,它是空白的,有三个模块:EAR,EJB(jar),WEB(WAR) 我的appserver是JBOSS 7.1.3所以它和我想要的完全一样
我也很欣赏@jjd