maven中archetype(原型)的使用及创建

当我们在idea中创建项目时,经常会见到如下界面选择:


archetype也就是原型,准确说是一个项目模板,我们可以根据该模板来生成项目。

我就不介绍图形界面的创建方式了,一步一步太啰嗦了,我们用命令方式创建。

创建一个常见的webapp项目。

命令如下:

mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

archetype:generate //archetype代表插件名,generate代表目标,一个插件有多个目标

意思就是我们通过archetype插件创建一个webapp项目,项目的groupId是com.cj,项目id是webAppDemo.使用的项目archetype是maven-archetype-webapp。也就是一个java web项目。interactiveMode= false,代表在执行过程中,用户不能进行输入操作。默认是true,需要用户进行操作。

这里我们用到了一个插件archetype,执行他的generate目标来创建项目,当然还有其他目标,比如:create-from-project,下面我会介绍。

看下上面创建的结果和项目结构:


上面创建完的项目还不是很标准的webapp项目,我们还要作写处理,参考:idea创建webapp项目


好了,上面介绍了如何使用原型创建项目,再来介绍如何根据自己的项目创建原型。

在项目的根目录,运行如下命令:

1.mvn archetype:create-from-project

它会生成archetype项目的相关文件。


2.mvn install

切换到项目的target/generated-sources/archetype/下,运行上面命令,我们要对archetype项目打包。


可以看到,我们已经生成了archetype项目。

那我们来测试下,根据我们生成的archetype项目来生成项项目,有2种方法。

方法1:利用自动生成的archetype-catalog.xml来创建项目。

当我们install后,会在~/m2.目录生成如下定义archetype文件:


<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>com.chenjun</groupId>
      <artifactId>springBootAop-archetype</artifactId>
      <version>1.0.1</version>
      <description>Spring Boot AOP Sample</description>
    </archetype>
  </archetypes>
</archetype-catalog>

我们运行:mvn archetype:generate -DarchetypeCatalog=local

表示利用本地archetype-catalog.xml定义的archetype来创建项目。




方法2:需要将install后的achetype项目copy到插件查找目录org\apache\maven\archetypes




可以看到,利用自己生成的archetype,能够生成我们自己的项目了。

PS:记得把自己installl的archetype的jar,手工copy到本地仓库的org\apache\maven\archetypes目录下,因为是从该目录下查找本地插件。




总结:

一、根据archetype创建项目的命令

      mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

二、根据项目生成archetype的命令

     1.mvn archetype:create-from-project     //生成archetype项目文件
     2.cd target/generated-sources/archetype/   //切换到archetype项目跟目录
     3.mvn install   //对archetype项目打包安装
     4.mvn archetype:generate -DarchetypeCatalog=local  //利用local本地提供的archetype创建项目

阅读更多

扫码向博主提问

马蹄印

薄观而约取,厚积而薄发
  • 擅长领域:
  • JAVA
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页