源地址:http://www.intellij.org.cn/portal/index.php?option=com_content&task=view&id=26&Itemid=28
1、构建单个工程
Maven2在项目管理方面影响越来越大,很多项目都使用Maven2。下面我们就介绍如何使用Maven2快速创建项目原型,然后在此基础上进行项目开发。下面我们就看一下如何使用Maven2创建典型的三类项目:
普通的Java项目,如基础包等:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart
普通的Web项目,如一个Web项目:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-webapp
Appfuse中的Struts 2.0项目:
mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m4-SNAPSHOT -DgroupId=com.mycompany -DartifactId=myproject
使用上述命令后,你可以很快捷地生成你想要的项目原型。接下来我们只需使用下面命令,生成IDEA的项目文件,然后打开就可以在IDEA下进行项目开发啦。
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true -DjdkLevel=1.5
当pom.xml文件发生变化时,我们只需使用下面命令重新生成module文件即可,新生成的module文件会和原来module文件进行很好的合并,通常是依赖的package发生变化啦。
mvn idea:module
2、构建Maven父子工程
1. 先单独构建各模块为一个独立的项目。
jar项目:
- mvn archetype:create -DgroupId=org.sonatype.mavenbook.weather -DartifactId=simple-weather
war项目:
- mvn archetype:create -DgroupId=org.sonatype.mavenbook.web -DartifactId=simple-webapp
- -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp
2. 构建父项目,并将各子模块文件拷贝到父项目路径下。
- mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch06 -DartifactId=simple-parent
- -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp
3. 修改父项目pom.xml与各子模块pom.xml配置对应关系。
父项目的pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook.ch06</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom </packaging>
<version>1.0</version>
<name>simple-parent Maven Webapp</name>
<url>http://maven.apache.org</url>
<modules>
<module>simple-weather</module>
<module>simple-webapp</module>
</modules >
子项目的pom.xml
<parent>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx</artifactId>
<version>1.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
4. 在父项目路径下执行:mvn eclipse:m2eclipse
5.在配有m2eclipse 插件的eclipse中导入父项目路径下的项目,导入为m2eclipse project。
------------------------------------------------------------------------------------------------------------------
mvn archetype:create -DgroupId=org.cjj.site -DartifactId=org.cjj.site -DpackageName=org.cjj.site -DarchetypeArtifactId=maven-archetype-webapp
重要的
Script代码
archetypeArtifactId
不是吗?
但是,当我们创建spring项目或者struts项目,到哪里去查他们的archetypeArtifactId呢?
我google了一下,发现一个好资源:http://cwiki.apache.org/confluence/display/WW/Struts+2+Maven+Archetypes
呵呵,今天发现原来可以这样:
Script代码
mvn archetype:generate
接下来的事情,很舒服,选择一个类别吧.
Java代码
E:\workspace>mvn archetype:generate
[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] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[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: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
2: internal -> appfuse-basic-spring (AppFuse archetype for creating a web application with Hibernate, Spring and Spring MVC)
3: internal -> appfuse-basic-struts (AppFuse archetype for creating a web application with Hibernate, Spring and Struts 2)
4: internal -> appfuse-basic-tapestry (AppFuse archetype for creating a web application with Hibernate, Spring and Tapestry 4)
5: internal -> appfuse-core (AppFuse archetype for creating a jar application with Hibernate and Spring and XFire)
6: internal -> appfuse-modular-jsf (AppFuse archetype for creating a modular application with Hibernate, Spring and JSF)
7: internal -> appfuse-modular-spring (AppFuse archetype for creating a modular application with Hibernate, Spring and Spring MVC)
8: internal -> appfuse-modular-struts (AppFuse archetype for creating a modular application with Hibernate, Spring and Struts 2)
9: internal -> appfuse-modular-tapestry (AppFuse archetype for creating a modular application with Hibernate, Spring and Tapestry 4)
10: internal -> maven-archetype-j2ee-simple (A simple J2EE Java application)
11: internal -> maven-archetype-marmalade-mojo (A Maven plugin development project using marmalade)
12: internal -> maven-archetype-mojo (A Maven Java plugin development project)
13: internal -> maven-archetype-portlet (A simple portlet application)
14: internal -> maven-archetype-profiles ()
15: internal -> maven-archetype-quickstart ()
16: internal -> maven-archetype-site-simple (A simple site generation project)
17: internal -> maven-archetype-site (A more complex site project)
18: internal -> maven-archetype-webapp (A simple Java web application)
19: internal -> jini-service-archetype (Archetype for Jini service project creation)
20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)
21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (no persistence) Archetype)
22: internal -> softeu-archetype-jsf (JSF+Facelets Archetype)
23: internal -> jpa-maven-archetype (JPA application)
24: internal -> spring-osgi-bundle-archetype (Spring-OSGi archetype)
25: internal -> confluence-plugin-archetype (Atlassian Confluence plugin archetype)
26: internal -> jira-plugin-archetype (Atlassian JIRA plugin archetype)
27: internal -> maven-archetype-har (Hibernate Archive)
28: internal -> maven-archetype-sar (JBoss Service Archive)
29: internal -> wicket-archetype-quickstart (A simple Apache Wicket project)
30: internal -> scala-archetype-simple (A simple scala project)
31: internal -> lift-archetype-blank (A blank/empty liftweb project)
32: internal -> lift-archetype-basic (The basic (liftweb) project)
33: internal -> cocoon-22-archetype-block-plain ([http://cocoon.apache.org/2.2/maven-plugins/])
34: internal -> cocoon-22-archetype-block ([http://cocoon.apache.org/2.2/maven-plugins/])
35: internal -> cocoon-22-archetype-webapp ([http://cocoon.apache.org/2.2/maven-plugins/])
36: internal -> myfaces-archetype-helloworld (A simple archetype using MyFaces)
37: internal -> myfaces-archetype-helloworld-facelets (A simple archetype using MyFaces and facelets)
38: internal -> myfaces-archetype-trinidad (A simple archetype using Myfaces and Trinidad)
39: internal -> myfaces-archetype-jsfcomponents (A simple archetype for create custom JSF components using MyFaces)
40: internal -> gmaven-archetype-basic (Groovy basic archetype)
41: internal -> gmaven-archetype-mojo (Groovy mojo archetype)
Choose a number: (1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41) 15: :
选择41个类型,有你所要的吗?选择一个数字即可.
下面就剩下你根据提示来填空了.
分享到:
相关推荐
使用Maven Archetype插件可以快速创建一个多模块项目模板。首先,创建一个父项目,然后在父项目的pom.xml中添加子模块的定义,最后在父项目目录下为每个子模块生成对应的目录结构和基本的pom.xml。 4. 依赖管理: ...
在创建项目后,Idea会自动生成基本的Maven目录结构,包括src/main/java(存放源代码)、src/main/resources(存放资源文件)、src/test/java(存放测试代码)等。此时,你需要在pom.xml文件中添加所需的依赖,例如...
接下来,描述中的"选择本地下载文件,并在文件中搜索mava-archetype-webapp选择1.3"是指使用Maven的archetype插件来创建Web项目。Maven archetype是预先定义好的项目模板,可以快速生成符合特定标准的项目结构。`...
2. 使用 Maven Archetypes:Maven 提供了一组预定义的模板(Archetypes),可以快速生成特定类型的项目结构。例如,你可以运行 `mvn archetype:generate` 并按照提示选择一个 Archetype 来创建新项目。 3. IDE 插件...
【使用Maven搭建S2SH工程详解一:创建Struts2工程】 在Java Web开发中,S2SH架构(Struts2 + Spring + Hibernate)是一种常见的应用框架组合,用于构建高效、灵活的企业级应用程序。本篇文章主要讲解如何利用Maven...
** Maven2 快速入门教程 ** Maven是Apache软件基金会开发的一款项目管理和集成工具,主要应用于Java项目。Maven2是Maven的第一个稳定版本,它极大地简化了项目的构建、依赖管理和文档生成过程。本教程将带你一步步...
【标题】"mavenWeb空项目"所涉及的知识点主要...综上所述,"mavenWeb空项目"是一个包含Java Web开发基础的项目模板,利用Maven进行构建管理和单元测试,为开发者提供了一个良好的起点,便于快速开发和迭代Web应用程序。
在本文中,我们将深入探讨如何使用Maven搭建一个SSM项目,并了解这个过程中涉及的关键知识点。 首先,Maven是一个项目管理和依赖管理工具,它允许开发者通过在`pom.xml`文件中声明项目依赖来自动化构建过程。在...
创建第一个Maven2项目,可以使用`mvn archetype:create`命令,指定`groupId`和`artifactId`。例如: ``` mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app ``` Maven2的常用命令包括: - `...
在本文中,我们将深入探讨如何使用IntelliJ IDEA创建一个基于Maven的Spring MVC项目。首先,我们需要了解几个核心概念: 1. **IntelliJ IDEA**:这是一款强大的Java集成开发环境(IDE),广泛用于Java应用程序的...
Maven Archetypes是预定义的项目模板,可以快速创建新项目的起点,避免从零开始配置。 综上所述,Maven 2 是Java开发者的重要工具,它通过标准化项目结构、自动化构建过程和管理依赖,极大地提升了开发效率和项目...
1. **创建Maven Web项目**:使用Maven的archetype插件可以快速创建一个新的Web项目。例如,可以运行`mvn archetype:generate -DgroupId=...
SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...
### Maven项目的创建详解 在软件开发领域,尤其是Java开发中,Maven作为一款自动化构建工具,因其强大的依赖管理和项目...希望本教程能帮助初学者快速入门Maven项目创建的过程,从而更高效地进行Java项目的开发工作。
本教程聚焦于如何在Eclipse集成开发环境中利用Maven来构建Web项目,旨在帮助初学者快速上手,但不涉及特定的框架如Spring或Struts。 **一、Maven简介** Maven是一款强大的项目管理和综合工具,它简化了构建、依赖...
在新建向导中,我们可以选择“Create a simple project”来快速创建一个基本的Maven结构,或者选择“Create a project from archetype”来根据特定的Maven Archetype创建项目。Archetype是预定义的项目模板,包含了...
通过这个快速入门教程,你应该已经掌握了Maven2的基础知识,包括安装、配置、创建项目、理解和使用命令。要深入了解Maven,你可以继续阅读官方文档,学习更多高级特性,如依赖管理、插件使用、多模块项目构建等,...
1. **创建SpringBoot项目**:使用Maven的archetype插件可以快速生成SpringBoot项目的基本结构。 2. **配置SpringBoot依赖**:在POM.xml中添加SpringBoot的起步依赖(starter),如`spring-boot-starter-web`,Maven...
通过 Maven 创建 Web 项目能够帮助开发者快速搭建开发环境,实现自动化构建、依赖管理和部署等功能。本文将详细介绍如何使用 Maven 在 Eclipse 中创建一个 Web 工程。 #### 二、准备工作 在开始之前,请确保已经...