【转】Maven项目模板

http://www.yiibai.com/maven/maven_project_templates.html

maven 使用 Archetype 概念为用户提供不同类型的项目模板,它是一个非常大的列表(614个数字)。 maven 使用下面的命令来帮助用户快速开始构建一个新的 Java 项目。

mvn archetype:generate

什么是Archetype?

Archetype 是一个 Maven 插件,其任务是按照其模板来创建一个项目结构。在这里我们将使用 quickstart 原型插件来创建一个简单的 Java应用程序。

使用项目模板

让我们打开命令控制台,进入到 C:\>MVN 目录,然后执行以下命令 mvn 命令,如下代码所示:

C:\MVN>mvn archetype:generate

Maven 开始处理,并按要求选择所需的原型,执行结果如下图中所示:

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
...
600: remote -> org.trailsframework:trails-archetype (-)
601: remote -> org.trailsframework:trails-secure-archetype (-)
602: remote -> org.tynamo:tynamo-archetype (-)
603: remote -> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote -> org.wicketstuff.scala:wicketstuff-scala-archetype
Basic setup for a project that combines Scala and Wicket,
depending on the Wicket-Scala project.
Includes an example Specs test.)
605: remote -> org.wikbook:wikbook.archetype (-)
606: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-)
607: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-)
608: remote -> org.xwiki.commons:xwiki-commons-component-archetype
(Make it easy to create a maven project for creating XWiki Components.)
609: remote -> org.xwiki.rendering:xwiki-rendering-archetype-macro
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote -> org.zkoss:zk-archetype-component (The ZK Component archetype)
611: remote -> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype)
612: remote -> ru.circumflex:circumflex-archetype (-)
613: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote -> sk.seges.sesam:sesam-annotation-archetype (-)
Choose a number or apply filter
(format: [groupId:]artifactId, case sensitive contains): 203:

按 Enter 键选择默认选项(203:maven-archetype-quickstart)

Maven会要求原型的特定版本

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:

按 Enter 键选择默认选项(6:maven-archetype-quickstart:1.1)

Maven会要求填写项目细节信息。如果要使用默认值可直接按回车。也可以通过输入自己的值覆盖它们。

Define value for property ‘groupId‘: : com.companyname.insurance
Define value for property ‘artifactId‘: : health
Define value for property ‘version‘: 1.0-SNAPSHOT:
Define value for property ‘package‘: com.companyname.insurance:

Maven会要求确认项目的细节信息,可按回车键或按 Y 来确认。

Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:

现在,Maven将开始创建项目结构,并会显示如下内容:

[INFO] -----------------------------------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] -----------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.insurance
[INFO] Parameter: packageName, Value: com.companyname.insurance
[INFO] Parameter: package, Value: com.companyname.insurance
[INFO] Parameter: artifactId, Value: health
[INFO] Parameter: basedir, Value: C:MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:MVNhealth
[INFO] -----------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -----------------------------------------------------------------------
[INFO] Total time: 4 minutes 12 seconds
[INFO] Finished at: Fri Jul 13 11:10:12 IST 2012
[INFO] Final Memory: 20M/90M
[INFO] -----------------------------------------------------------------------

创建项目

现在进入到 C:\mvn 目录。会看到有一个 java 应用程序项目已创建了,它是在创建项目时给出 artifactId 命名:health 。 Maven 将创建一个标准的目录结构布局,如下图所示:

创建pom.xml

Maven 项目中的生成如下所列出 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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.insurance</groupId>
   <artifactId>health</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>health</name>
   <url>http://maven.apache.org</url>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   <dependencies>
      <dependency>
      <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
</project>

创建App.java

Maven 示例生成 Java 源文件,App.java下面列出项目:

位置:C:\>MVN\health\src\main\java\com\companyname\insurance> App.java

package com.companyname.insurance;

/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

创建 AppTest.java

Maven 实例生成 Java 源测试文件,项目中的 AppTest.java 测试文件如下面列出:

位置: C:\ > MVN > health > src > test > java > com > companyname > insurance > AppTest.java

package com.companyname.insurance;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

就是这样。现在就可以看到 Maven 的功能了。可以使用 maven 单一命令来创建任何类型的项目并开始开发。

时间: 2024-08-10 06:22:23

【转】Maven项目模板的相关文章

通过mvn archetype:generate创建Maven项目模板慢的问题

通过mvn archetype:generate这种交互方式来创建Maven项目模板的时候,经常会长时间卡在Generating project in Interactive mode这一行提示(图1). 看了网上的帖子(文章最底下有说明),发现是获取archetype-catalog.xml导致的(浏览器访问http://repo1.maven.org/maven2/archetype-catalog.xml,需要等待很长时间才能获取到). 其实下载下来会发现Maven提供的archetype

新建maven项目时报错解决

总结一下报错的内容以及解决方法 1.新建maven项目后报错 Description Resource Path Location Type org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml /maven-web-tms line 1 Maven

Maven用项目模板生成项目

Archetype插件是Maven生成项目的项目模板,项目模板就是一个框,把文件夹这些定好,然后就可以在上开写具体逻辑等等. 最常用的命令: mvn archetype:generate 这个是生成一个最全的项目模板. 在开发上,用的最多的项目模板是quickstart和webapp这两种,它们是用于生成Application和Web项目的.具体的操作可以参考以下两篇文章: http://www.cnblogs.com/EasonJim/p/6810814.html http://www.cnb

maven archetype:generate 命令简化项目模板数量

在maven里使用 mvn archetype:generate 来创建项目是十分方便的,但有时也不尽然.在网络不好时,从网络上加载 archetype-catalog.xml文件(http://repo1.maven.org/maven2/archetype-catalog.xml)时需要很长时间,同时这个文件里记录着所有maven支持的项目模板,但可能我们并不会用到这么多的模板,比如我常用的就有三个, 1:maven-archetype-quickstart(最简单的模板) 2:maven-

maven 根据模板创建项目很慢解决方式

在IDEA创建maven项目很慢 , 是因为需要添加一个参数 : archetypeCatalog --> internal  , 这样就好了 .

Maven和Eclipse:m2eclipse -- 创建一个简单的Maven项目

陈科肇-欢迎转载,转载请注明出来,谢谢! ================== 在Maven中,我们使用archetype来创建项目.而在Ecelipse中,我们通过新建项目向导来创建项目.Eeclipse中的新建项目向导为我们提供了大量的创建项目的模板.m2eclipse为这个向导添加了如下的功能: 1.从SCM仓库签出一个Maven项目 2.使用Maven archetype(Maven 原型,即模板)创建一个Maven项目 3.创建一个Maven POM文件 4.实操-例子 =======

SpringMVC框架入门配置 IDEA下搭建Maven项目

,初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习使用! 关于SpringMVC的介绍我就不在此赘述了,想必每一个配置Spring的人都已经或多或少了解过一些SpringMVC的基础知识,可能有的人用的myeclipse或者eclipse进行项目的搭建,我会告诉你这里步骤是很相似的,在myeclipse里面需要建立web项目,然后加入Spring

maven系列之二maven项目的创建和maven项目的结构

maven系列之一简单介绍了maven的基本信息,安装和配置,大家对maven有一个大概的了解,但是在maven项目开发中远远不够,为了进一步了解maven,现在我们介绍maven项目的创建和maven项目的结构. 第一部分:maven项目的创建 maven项目创建方式一:用命令 开始键+r=,确定,检测maven的版本 输入mvn -v   输入mvn archetype:generate  ,执行这个命令有点久,要有耐心,他会检测setting.xml,不符合条件就会报错.同时也会根据set

Maven for Eclipse 第三章 ——创建和导入 Maven 项目

这一章主要介绍 Maven 项目的结构,它的构建的架构,主要涵盖了必需的主题,最后将学习如何创建一个简单的 Maven 项目.这章主要包括以下部分. Maven 项目的结构 POM 文件(Project Object Model) Maven 的坐标 POM 的关系 基本的 POM 顶层的 POM 3. Maven 项目的构建架构 4. 其他的重要的概念 仓库 项目依赖 插件和任务 网站的生成和报表 5. 创建一个 Maven 项目 使用原型创建 不使用原型创建 检索出一个 Maven 项目 6