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中进行进一步开发了。
分享到:
相关推荐
在本资源中,我们将探讨如何通过Maven的自定义archetype功能来创建自定义项目骨架,以便快速搭建符合特定需求的SpringMVC项目。 首先,让我们理解什么是Maven Archetype。Archetype是Maven提供的一种模板机制,可以...
在Java开发领域,Maven是广泛使用的项目管理工具,它帮助开发者构建、依赖管理和项目信息管理。然而,有时候Maven的内置插件无法满足特定的需求,这时就需要自定义Maven插件来扩展其功能。本篇文章将深入探讨如何...
本文将深入探讨“Maven自定义Zip插件”,这是一个允许开发者自定义打包逻辑的重要特性,尤其适用于那些需要对源代码或资源进行特殊处理的项目。 Maven插件是Maven生态系统的核心组成部分,它们提供了各种各样的功能...
本文将深入探讨“Maven自定义插件小示例”,以帮助开发者更好地理解和利用Maven的强大功能。 Maven插件是Maven生态系统中的一个重要组成部分,它们提供了各种各样的功能,如编译、测试、打包、部署等。有时,标准...
当我们谈论“maven自定义catalog”,这意味着我们需要创建一个个性化的Archetype目录,以便导入并使用本地的XML文件来扩展或定制Maven的默认行为。 首先,让我们理解`archetype-catalog.xml`文件的作用。这是一个...
2. **依赖管理**:Maven通过中央仓库自动下载并管理项目所需的第三方库。 3. **生命周期**:Maven有三个主要的生命周期阶段:compile(编译)、test(测试)、package(打包),可以使用命令行工具如`mvn compile`...
Maven2引入了项目模板,用户可以自定义项目结构,这极大地简化了新项目的初始化工作。 5. **生命周期概念** Maven2提出了明确的生命周期概念,如编译、测试、打包、部署等阶段,每个阶段都有相应的命令对应,使得...
4. **预定义模板**:用户可以自定义项目模板,像使用Appfuse那样快速生成项目结构,提高开发效率。 5. **生命周期的引入**:Maven2引入了明确的生命周期概念,如clean、compile、test、package等,每个阶段都有对应...
在创建过程中,你可以选择是否要使用Maven的默认项目结构,或者自定义项目骨架。在输入项目信息时,包括项目名称、集团包名等,你还可以通过`pom.xml`文件管理项目依赖。对于Web项目,你需要确保项目结构包括了`src/...
在Java开发领域,Maven是一个强大的项目管理和构建工具,它通过简化构建过程、管理依赖关系以及提供标准化的项目结构,极大地提升了开发效率。本资源"mavenweb项目创建demo"旨在指导用户如何利用Maven创建一个Web...
本篇文章将深入探讨如何使用Maven Assembly插件来创建多个自定义包以及War包,这对于Java开发者来说尤其重要,因为它使得项目打包和分发变得更加方便。 Maven是一个强大的Java项目管理工具,它通过配置文件POM...
在新建向导中,我们可以选择“Create a simple project”来快速创建一个基本的Maven结构,或者选择“Create a project from archetype”来根据特定的Maven Archetype创建项目。Archetype是预定义的项目模板,包含了...
- **项目结构**:Maven项目通常遵循标准的目录结构,包括`src/main/java`、`src/main/resources`、`src/test/java`等。 ##### 3. 使用Maven命令 - **常见命令**: - `mvn clean`: 清除项目构建产生的文件。 - `...
在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的开发过程。...然而,了解如何在没有这些工具的情况下操作,可以帮助我们更好地理解和掌握项目结构,以及依赖管理的原理。
9. 构建结果:在pom.xml文件中添加了自定义jar包的依赖之后,通过Maven的构建命令(如mvn install或mvn package),Maven会自动将这个jar包安装到本地仓库,并且可以在项目构建过程中使用。 10. 文章总结:通过这篇...
Maven2引入了一种标准的项目结构,使得多项目协作变得更为简单。要下载Maven2,可以访问Apache官方网站,找到Maven的下载页面,选择合适的版本进行下载。通常推荐使用稳定版,以确保兼容性和稳定性。 MyEclipse是一...
此外,`Apache Maven + t.doc` 文件可能包含关于如何使用 Apache Maven 进行特定操作的详细步骤,例如创建项目、管理依赖、自定义构建过程等。文档可能还涵盖了一些高级主题,如使用 Maven Profile、多模块项目或者...