`
maosijun
  • 浏览: 3970 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

教你如何使用Maven模板生成一个项目

阅读更多

Maven带有超过40+个Maven模板,让开发者快速开始一个新的Java项目。这一章,演示怎样使用Maven的命令“mvn archetype:generate”生成一个新的Java Web项目。 

下面是使用Maven模板生成项目的步骤。 

1、mvn archetype:generate命令 

定位到要生成的项目的目录下,如“D:\workspace\maven-test”。在命令行窗口,执行“mvn archetype:generate -DarchetypeCatalog=internal”命令以生成一个新的项目。Maven将列出已经存在的40+Maven模板项目供我们选择。在这个例子中,选择19以创建一个简单的Java web应用程序项目模板(这里使用的是Maven 3.03版本,Maven 2可能有所不同): 

使用Maven创建项目过程1 
D:\workspace\maven-test>mvn archetype:generate -DarchetypeCatalog=internal 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Stub Project (No POM) 1 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom >>> 
[INFO] 
[INFO] <<< maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom <<< 
[INFO] 
[INFO] --- maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom --- 
[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 modularapplication with Hibernate, Spring and Spring MVC) 
8: internal -> appfuse-modular-struts (AppFuse archetype for creating a modularapplication 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 -> makumba-archetype (Archetype for a simple Makumba application)11: internal -> maven-archetype-j2ee-simple (A simple J2EE Java application) 
12: internal -> maven-archetype-marmalade-mojo (A Maven plugin development project using marmalade) 
13: internal -> maven-archetype-mojo (A Maven Java plugin development project) 
14: internal -> maven-archetype-portlet (A simple portlet application) 
15: internal -> maven-archetype-profiles () 
16: internal -> maven-archetype-quickstart () 
17: internal -> maven-archetype-site-simple (A simple site generation project) 
18: internal -> maven-archetype-site (A more complex site project) 
19: internal -> maven-archetype-webapp (A simple Java web application) 
20: internal -> data-app (A new Databinder application with sources and resources.) 
21: internal -> camel-archetype-component (Creates a new Camel component) 
22: internal -> camel-archetype-activemq (Creates a new Camel project that configures and interacts with ActiveMQ) 
23: internal -> camel-archetype-java (Creates a new Camel project using Java DSL) 
24: internal -> camel-archetype-scala (Creates a new Camel project using Scala DSL) 
25: internal -> camel-archetype-spring (Creates a new Camel project with added Spring DSL support) 
26: internal -> camel-archetype-war (Creates a new Camel project that deploys the Camel Web Console, REST API, and your routes as a WAR) 
27: internal -> jini-service-archetype (Archetype for Jini service project creation) 
28: internal -> jbosscc-seam-archetype (Maven Archetype to generate a Seam Application- Documentation) 
29: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype) 
30: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (no persistence) Archetype) 
31: internal -> softeu-archetype-jsf (JSF+Facelets Archetype) 
32: internal -> jpa-maven-archetype (JPA application) 
33: internal -> spring-osgi-bundle-archetype (Spring-OSGi archetype) 
34: internal -> bamboo-plugin-archetype (Atlassian Bamboo plugin archetype) 
35: internal -> confluence-plugin-archetype (Atlassian Confluence plugin archetype) 
36: internal -> jira-plugin-archetype (Atlassian JIRA plugin archetype) 
37: internal -> maven-archetype-har (Hibernate Archive) 
38: internal -> maven-archetype-sar (JBoss Service Archive) 
39: internal -> wicket-archetype-quickstart (A simple Apache Wicket project) 
40: internal -> quickstart (A simple Apache Tapestry 5 Project) 
41: internal -> scala-archetype-simple (A simple scala project) 
42: internal -> lift-archetype-blank (A blank/empty liftweb project) 
43: internal -> lift-archetype-basic (The basic (liftweb) project) 
44: internal -> cocoon-22-archetype-block-plain (http://cocoon.apache.org/2.2/maven-plugins/) 
45: internal -> cocoon-22-archetype-block (http://cocoon.apache.org/2.2/maven-plugins/) 
46: internal -> cocoon-22-archetype-webapp (http://cocoon.apache.org/2.2/maven-plugins/) 
47: internal -> myfaces-archetype-helloworld (A simple archetype using MyFaces) 
48: internal -> myfaces-archetype-helloworld-facelets (A simple archetype using MyFaces and facelets) 
49: internal -> myfaces-archetype-trinidad (A simple archetype using Myfaces and Trinidad) 
50: internal -> myfaces-archetype-jsfcomponents (A simple archetype for create custom JSF components using MyFaces) 
51: internal -> gmaven-archetype-basic (Groovy basic archetype) 
52: internal -> gmaven-archetype-mojo (Groovy mojo archetype) 
53: internal -> struts2-archetype-starter (Struts 2 Starter Archetype) 
54: internal -> tynamo-archetype (Creates a CRUD web application based on Tapestry 5 and Tynamo, a model-driven Java web framework) 
55: internal -> tellurium-junit-archetype (Tellurium JUnit project archetype for the Tellurium Automated Testing Framework) 
56: internal -> tellurium-testng-archetype (Tellurium TestNG project archetype for the Tellurium Automated Testing Framework) 
57: internal -> scalate-archetype-empty (Generates a Scalate empty web application) 
58: internal -> scalate-archetype-guice (Generates a Scalate Jog web application) 
Choose a number: 16: 
选择19,Maven会自动下载所需的依赖库文件,这可能会耗费一些时间。 

2、项目详细信息 

接下来,会让填写项目的详细信息: 

填写项目详细信息 
Define value for property 'groupId': : com.xuejava 
Define value for property 'artifactId': : com.xuejavaweb 
Define value for property 'version':  1.0-SNAPSHOT: : 1.0 
Define value for property 'package':  com.xuejava: : 
完整的过程如下: 

项目生成过程2 
…… 
Choose a number: 16: 19 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-arc 
hetype-webapp/1.0/maven-archetype-webapp-1.0.jar 
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-arch 
etype-webapp/1.0/maven-archetype-webapp-1.0.jar (4 KB at 1.7 KB/sec) 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-arc 
hetype-webapp/1.0/maven-archetype-webapp-1.0.pom 
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-arch 
etype-webapp/1.0/maven-archetype-webapp-1.0.pom (533 B at 0.1 KB/sec) 
Define value for property 'groupId': : com.xuejava 
Define value for property 'artifactId': : com.xuejavaweb 
Define value for property 'version':  1.0-SNAPSHOT: : 1.0 
Define value for property 'package':  com.xuejava: : 
Confirm properties configuration: 
groupId: com.xuejava 
artifactId: com.xuejavaweb 
version: 1.0 
package: com.xuejava 
Y: : y 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Using following parameters for creating project from Old (1.x) Archetype: 
maven-archetype-webapp:RELEASE 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Parameter: groupId, Value: com.xuejava 
[INFO] Parameter: packageName, Value: com.xuejava 
[INFO] Parameter: package, Value: com.xuejava 
[INFO] Parameter: artifactId, Value: com.xuejavaweb 
[INFO] Parameter: basedir, Value: D:\workspace\maven-test 
[INFO] Parameter: version, Value: 1.0 
[INFO] ********************* End of debug info from resources from generated POM *********************** 
[INFO] project created from Old (1.x) Archetype in dir: D:\workspace\maven-test\com.xuejavaweb 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1:13.922s 
[INFO] Finished at: Sun May 22 13:51:03 CST 2011 
[INFO] Final Memory: 6M/16M 
[INFO] ------------------------------------------------------------------------ 
D:\workspace\maven-test> 
创建结束,会生成如下的文件和目录结构: 



3、pom.xml 

在Maven中,pom.xml文件是项目配置的核心,它包含构建项目所需的主要信息。在上面的示例中,自动生成了pom.xml文件,其中的标签“packaging”为“war”—注意这里不是“jar”。当使用Maven构建项目时,该项目将自动打成war包用来部署。 

pom.xml 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
  <modelVersion>4.0.0</modelVersion> 
  <groupId>com.xuejava</groupId> 
  <artifactId>com.xuejavaweb</artifactId> 
  <packaging>war</packaging> 
  <version>1.0</version> 
  <name>com.xuejavaweb Maven Webapp</name> 
  <url>http://maven.apache.org</url> 
  <dependencies> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
  <build> 
      <finalName>com.xuejavaweb</finalName> 
  </build> 
</project> 
在Maven,完成所有这一切,只需要一个命令,就可以创建标准目录结构,马上开始开发工作 。

转自:http://www.k6567.com

http://www.d9732.com

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    chm版本Maven教程

    使用Maven模板创建项目 使用Maven构建项目 使用Maven清理项目 使用Maven运行单元测试 将项目安装到Maven本地资源库 生成基于Maven的项目文档站点 使用“mvn site-deploy”部署站点(WebDAV例子) 部署基于Maven的war...

    Spring Boot 2 Maven 模板

    - `mvn package`:打包项目,对于Spring Boot应用,会生成一个可执行的JAR或WAR文件。 - `mvn install`:将打包后的文件安装到本地Maven仓库,以便其他项目引用。 ### 6. Spring Boot Maven插件 Spring Boot Maven...

    maven 代码生成(maven插件)

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它通过XML配置文件管理项目的依赖关系,构建过程,以及插件。Maven插件则是Maven生态系统中的一个重要组成部分,它们提供了各种功能,...

    Maven 项目模板archetype-catalog.xml

    每个Archetype都包含一组文件和目录结构,当用户使用该模板时,Maven会根据模板生成一个新的项目,填充默认的POM配置和必要的初始化文件。 2. archetype-catalog.xml结构 `archetype-catalog.xml`文件通常包含三个...

    使用Maven构建多模块项目

    使用Maven Archetype插件可以快速创建一个多模块项目模板。首先,创建一个父项目,然后在父项目的pom.xml中添加子模块的定义,最后在父项目目录下为每个子模块生成对应的目录结构和基本的pom.xml。 4. 依赖管理: ...

    maven教程-maven教程-maven教程

    Maven是Java领域广泛使用的项目管理工具,它能够帮助开发者完成项目的构建、文档生成、报告、依赖管理和软件生命周期管理等工作。通过本文的介绍,我们可以了解到Maven的基本概念、安装配置、基本使用和深入应用详解...

    maven项目ssm项目 模板ssm项目

    4. **Maven**:Maven是Apache软件基金会的一个开源项目,它是一个项目管理和综合工具,用于管理项目的构建、报告和文档。在这个SSM项目中,Maven负责项目的构建、依赖管理和版本控制,使得开发者可以更轻松地管理...

    maven模板javaspring

    Spring Initializr 是一个在线服务,允许开发者自定义项目配置,生成包含所有必需依赖的初始 Maven 项目结构。 7. **持续集成与部署** Maven 与 Jenkins、GitLab CI/CD 等持续集成工具结合,可以自动化构建、测试...

    maven 简单使用教程

    Maven是一个基于Java的构建工具,专为管理和构建Java项目而设计。它简化了项目的构建过程,通过一个统一的构建生命周期和依赖管理机制,使得项目构建更加规范和高效。Maven的最新版本为2.0.9,但需要注意的是,Maven...

    使用Idea14.1.4和maven创建java web项目

    在本篇文章中,我们将详细介绍如何使用IntelliJ IDEA 14.1.4版本结合Maven来创建一个Java Web项目。这种方法不仅能够提高开发效率,还能确保项目的结构更加规范。以下是详细的步骤和需要注意的关键点。 #### 二、...

    maven模板工程的使用

    Archetype是一个Maven项目的模板工具包,它定义了一类项目的基本架构。 Archetype 为开发 人员提供了创建Maven项目的模板,同时它也可以根据已有的Maven项目生成参数化的模板。 模板工程优势: 统一研发框架,统一...

    maven生成web项目时pom配置

    Web项目需要指定打包类型为`war`,这告诉Maven我们需要构建一个WAR文件。 ```xml &lt;packaging&gt;war ``` 3. **依赖管理** Maven的依赖管理使得我们可以轻松引用其他库。在`&lt;dependencies&gt;`标签下,列出项目所需的库...

    安装maven和使用maven创建项目

    Maven 是一个广泛使用的 Java 项目管理和构建工具,它简化了构建过程,自动处理依赖管理和构建生命周期。要安装 Maven,首先你需要访问 Maven 的官方网站(https://maven.apache.org/)来下载最新版本的二进制包。...

    Eclipse使用Maven无法建web项目

    在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而Maven则是一个强大的项目管理和构建工具。本文将深入探讨如何在Eclipse中利用Maven创建一个Web应用程序项目。 首先,我们需要理解“Eclipse使用...

    SSM框架_maven项目_通用项目模板

    使用这个通用项目模板,开发者可以快速搭建SSM项目,只需专注于业务逻辑的实现,而无需关心框架的配置和集成。模板通常已经做了大量预设工作,包括初始化的数据库连接、日志记录、异常处理等,极大地简化了开发流程...

    Maven全套教程,maven项目管理从基础到高级,Java项目开发必会管理工具maven

    Idea 是一个流行的集成开发环境(IDE),提供了 Maven 项目模板。用户可以使用 Idea 创建 Maven 项目,并配置项目信息和 dependencies。 3.5 Idea 使用模板(骨架)创建 Maven 工程 Idea 提供了多种项目模板,例如...

    maven分层次项目模板构建步骤

    这个命令会生成一个基本的Maven项目,包括`pom.xml`文件和一个简单的`src/main/java`目录结构。 2. **修改主项目POM配置** 在创建的基础项目中,我们需要将`pom.xml`文件中的`packaging`元素改为`pom`。这是因为...

    maven项目构建文档

    Maven允许你使用插件执行特定任务,如创建WAR文件、生成文档、执行代码分析等。在`pom.xml`的`&lt;build&gt;&lt;plugins&gt;`部分配置插件及其执行目标。 ### **七、问题解决与优化** 1. **依赖冲突**: 如果多个依赖引入了同一...

    maven制作模板,发布到本地和远程

    上述命令用于从现有的项目生成一个新的 Archetype 模板。`-DpackageName=com.peraglobal` 参数指定了新生成的项目的包名。 2. **安装 Archetype 模板:** 生成的模板会被放置在 `target/generated-sources/...

    Java FreeMarker+Maven实现代码自动生成

    FreeMarker 是一个强大的模板引擎,而Maven作为项目构建工具,能够帮助我们管理和组织项目的构建过程。结合这两者,我们可以构建一个自动化代码生成系统,提升开发效率。 FreeMarker 模板引擎: FreeMarker 是一个...

Global site tag (gtag.js) - Google Analytics