MavenArchetype

Posted 王晓斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MavenArchetype相关的知识,希望对你有一定的参考价值。

示例——使用Archetype生成项目骨架:

cmd中运行:

mvn archetype:generate

会看到常常的输出,有很多可用的Archetype供选择;每一个Archetype前面都有一个对应的编号,同时命令行会提供一个默认的编号,其对应的Archetype为maven-archetype-quickstart,回车选择该Archetype:


紧接着Maven会提示输入要创建项目的groupId,artifactId,version及包名package:


Archetype会根据输入的信息创建项目骨架。在当前目录下,创建一个名为hellomvn(定义的artifactId)的子目录,从中可以看到项目的基本结构:基本的pom.xml,代码目录src/main/java,同时包含一个java类:com.mvntest.hellomvn.core.App。测试代码目录src/test/java,也包含一个测试Jave类com.mvntest.hellomvn.core.AppTest。

一个项目的基本骨架生成。

Archetype

可以讲Archetype理解成Maven项目的模板,例如maven-archetype-quickstart就是最简单的Maven项目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成项目的基本结构及POM文件。

Maven Archetype Plugin


使用Archetype的一般步骤

  • 命令——mvn archetype:generate
  • 输入命令后,Archetype插件会输出一个Archetype列表供用户选择;选择自己想要使用的Archetype,输入对应编号
  • 提示输入一些基本参数,如groupId,artifactId,version,package等
  • Archetype插件生成项目骨架

常用Archetype

maven-archetype-quickstart

默认的Archetype,基本内容包括:

  • 一个包含junit依赖声明的pom.xml
  • src/main/java主代码目录及一个名为App的类
  • src/test/java测试代码目录及一个名为AppTest的测试用例

maven-archetype-webapp

一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:

  • 一个packaging为war且带有junit依赖声明的pom.xml
  • src/main/webapp/目录
  • src/main/webapp/index.jsp文件
  • src/main/webapp/WEB-INF/web.xml文件

创建自己的Archetype


Archetype Catalog

Catalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:

  • internal——maven-archetype-plugin内置的
  • local——本地的,位置为~/.m2/archetype-catalog.xml
  • remote——指向Maven中央仓库的Catalog
  • file://
  • http://







以上是关于MavenArchetype的主要内容,如果未能解决你的问题,请参考以下文章

将文件拖放到脚本上以作为参数运行会导致 Vista 出现异常

自定义Maven Archetype模板工程

替换 JavaScript 文件中的 Maven Archetype 属性

spark 任务运行原理

转载 Spark性能优化:资源调优篇

自定义Maven Archetype模板工程