`

使用maven2自定义项目结构创建项目

阅读更多

1. 首先使用命令:

mvn archetype:create -DgroupId=com.jwu -DartifactId=jwu-archetype -DarchetypeArtifactId=maven-archetype-archetype

创建 arche type

该命令在当前目录创建了一个名为 jwu-archetype maven项目,具有 src目录和 pom.xml文件。

 

2. 然后修改 archetype descriptor文件 archetype.xml,在 \jwu-archetype\src\main\resources\META-INF\maven 目录下:

 

<archetype>
  <id>jwu-archetype</id>
  <sources>
    <source>src/main/java/App.java</source>
  </sources>
  <resources>
    <resource>src/main/webapp/WEB-INF/web.xml</resource>
  </resources>
  <testSources>
    <source>src/test/java/AppTest.java</source>
  </testSources>
</archetype>
 

 

这里面不能指定空的目录,只能指定单个的文件。 resources目录会作为默认目录创建。

目录结构如下:

<none>

 

 

3. 然后再修改模板 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>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <packaging>war</packaging>
  <version>${version}</version>
  <name>A custom project</name>
  <url>http://www.mycom.com</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
</project>
 

 

注意里面的粗体值(

  <groupId>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <version>${version}</version>

),它们将被创建项目时指定的值代替。

 

4. 另外,还需要修改里面附带的一个测试文件: App.java \src\main\resources\archetype-resources\src\main\java目录,删除该 java文件的包声明。

 

同样需要删掉对应的 AppTest.java文件的包声明,在 C:\yaowen\dev\playground\maven2projects\jwu-archetype \src\main\resources\archetype-resources\src\test\java目录下。

这里为了方便,可以把要创建的 archetype指定一个简单的版本号,默认为 1.0-SNAPSHOT

修改在 \jwu-archetype目录下的 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.jwu</groupId>
  <artifactId>jwu-archetype</artifactId>
  <version>1.0</version>
  <name>Archetype - jwu-archetype</name>
  <url>http://maven.apache.org</url>
</project>

 

5. 进入 \jwu-archetype目录,执行 mvn install命令,安装该 archetype。安装完成之后,在该目录会产生一个 target目录,同时在 maven repository目录生成 mavenRepo\m2\com\jwu\jwu-archetype\1.0\ jwu-archetype-1.0.jar jwu-archetype-1.0.pom等文件。

 

\dev\playground\maven2projects\jwu-archetype>mvn install

  [INFO] [jar:jar]

[INFO] Building jar: C:\name\dev\playground\maven2projects\jwu-archetype\targe

t\jwu-archetype-1.0.jar

[INFO] [install:install]

[INFO] Installing C:\name\dev\playground\maven2projects\jwu-archetype\target\j

wu-archetype-1.0.jar to C:\yaoInstall\mavenRepo\m2\com\jwu\jwu-archetype\1.0\jwu

-archetype-1.0.jar

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESSFUL

 

表示安装成功。接下来就可以使用这个自定义的 archetype了。

参考文档: http://maven.apache.org/plugins/maven-archetype-plugin/examples/archetype.html

 

 

创建测试项目: infowu

 

\dev\playground\maven2projects\jwu-archetype>cd ..

退出 \jwu-archetype目录,执行 mvn命令:

\dev\playground\maven2projects\jwu-archetype>mvn archetype:create  -DgroupId=com.jwu.info -DartifactId=infowu -Dpackage=com.jwu.info.infowu -Dversion=1.0-SNAPSHOT -DarchetypeGroupId =com.jwu -DarchetypeArtifactId =jwu-archetype -DarchetypeVersion =1.0

生成的目录结构如下:

<none>

 

测试一下生成的项目: \dev\playground\maven2projects\infowu>mvn test

 

生成 eclipse项目:

\dev\playground\maven2projects\infowu>mvn eclipse:eclipse -Dwtpversion=2.0

这样就可以导入到 eclipse IDE中进行进一步开发了。

 

 

1
0
分享到:
评论
2 楼 DavyJones2010 2013-04-27  
Nice!
1 楼 jwu 2010-04-20  
13769166426

相关推荐

    SpringMVC精品资源--maven之自定义archtype生成自定义项目骨架 1.该项目是一个自定义的arch.zip

    在本资源中,我们将探讨如何通过Maven的自定义archetype功能来创建自定义项目骨架,以便快速搭建符合特定需求的SpringMVC项目。 首先,让我们理解什么是Maven Archetype。Archetype是Maven提供的一种模板机制,可以...

    自定义maven插件的实现

    在Java开发领域,Maven是广泛使用的项目管理工具,它帮助开发者构建、依赖管理和项目信息管理。然而,有时候Maven的内置插件无法满足特定的需求,这时就需要自定义Maven插件来扩展其功能。本篇文章将深入探讨如何...

    Maven 自定义Zip插件

    本文将深入探讨“Maven自定义Zip插件”,这是一个允许开发者自定义打包逻辑的重要特性,尤其适用于那些需要对源代码或资源进行特殊处理的项目。 Maven插件是Maven生态系统的核心组成部分,它们提供了各种各样的功能...

    maven 自定义插件小示例

    本文将深入探讨“Maven自定义插件小示例”,以帮助开发者更好地理解和利用Maven的强大功能。 Maven插件是Maven生态系统中的一个重要组成部分,它们提供了各种各样的功能,如编译、测试、打包、部署等。有时,标准...

    maven自定义catalog

    当我们谈论“maven自定义catalog”,这意味着我们需要创建一个个性化的Archetype目录,以便导入并使用本地的XML文件来扩展或定制Maven的默认行为。 首先,让我们理解`archetype-catalog.xml`文件的作用。这是一个...

    mavenWeb空项目

    2. **依赖管理**:Maven通过中央仓库自动下载并管理项目所需的第三方库。 3. **生命周期**:Maven有三个主要的生命周期阶段:compile(编译)、test(测试)、package(打包),可以使用命令行工具如`mvn compile`...

    Maven2完全使用手册

    Maven2引入了项目模板,用户可以自定义项目结构,这极大地简化了新项目的初始化工作。 5. **生命周期概念** Maven2提出了明确的生命周期概念,如编译、测试、打包、部署等阶段,每个阶段都有相应的命令对应,使得...

    maven2完全使用手册

    4. **预定义模板**:用户可以自定义项目模板,像使用Appfuse那样快速生成项目结构,提高开发效率。 5. **生命周期的引入**:Maven2引入了明确的生命周期概念,如clean、compile、test、package等,每个阶段都有对应...

    Eclipse中Maven项目创建及相关操作

    在创建过程中,你可以选择是否要使用Maven的默认项目结构,或者自定义项目骨架。在输入项目信息时,包括项目名称、集团包名等,你还可以通过`pom.xml`文件管理项目依赖。对于Web项目,你需要确保项目结构包括了`src/...

    mavenweb项目创建demo

    在Java开发领域,Maven是一个强大的项目管理和构建工具,它通过简化构建过程、管理依赖关系以及提供标准化的项目结构,极大地提升了开发效率。本资源"mavenweb项目创建demo"旨在指导用户如何利用Maven创建一个Web...

    使用Maven assembly打多个自定义包及War包简介

    本篇文章将深入探讨如何使用Maven Assembly插件来创建多个自定义包以及War包,这对于Java开发者来说尤其重要,因为它使得项目打包和分发变得更加方便。 Maven是一个强大的Java项目管理工具,它通过配置文件POM...

    使用Eclipse构建Maven项目

    在新建向导中,我们可以选择“Create a simple project”来快速创建一个基本的Maven结构,或者选择“Create a project from archetype”来根据特定的Maven Archetype创建项目。Archetype是预定义的项目模板,包含了...

    Maven2_基础教程

    - **项目结构**:Maven项目通常遵循标准的目录结构,包括`src/main/java`、`src/main/resources`、`src/test/java`等。 ##### 3. 使用Maven命令 - **常见命令**: - `mvn clean`: 清除项目构建产生的文件。 - `...

    非maven springboot项目

    在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的开发过程。...然而,了解如何在没有这些工具的情况下操作,可以帮助我们更好地理解和掌握项目结构,以及依赖管理的原理。

    Maven设置使用自定义的jar包到自己本地仓库

    9. 构建结果:在pom.xml文件中添加了自定义jar包的依赖之后,通过Maven的构建命令(如mvn install或mvn package),Maven会自动将这个jar包安装到本地仓库,并且可以在项目构建过程中使用。 10. 文章总结:通过这篇...

    Maven2资源和配置下载

    Maven2引入了一种标准的项目结构,使得多项目协作变得更为简单。要下载Maven2,可以访问Apache官方网站,找到Maven的下载页面,选择合适的版本进行下载。通常推荐使用稳定版,以确保兼容性和稳定性。 MyEclipse是一...

    maven2 eclipse

    此外,`Apache Maven + t.doc` 文件可能包含关于如何使用 Apache Maven 进行特定操作的详细步骤,例如创建项目、管理依赖、自定义构建过程等。文档可能还涵盖了一些高级主题,如使用 Maven Profile、多模块项目或者...

Global site tag (gtag.js) - Google Analytics