zoukankan      html  css  js  c++  java
  • maven中archetype(原型)的使用

    原文链接:https://www.cnblogs.com/snowstar123/p/3449349.html

    最近项目组做好一套框架,为了推广需要创建一些空白项目给项目组使用,因为所有的空白项目里面的配置基本上都是一样的,为了减少重复工作,想通过maven创建一个自己的archetype,于是在网上大致搜了一下,结果按照搜到的做法基本上都是一样的,但是发现在我本地跑的时候,就是有问题,找了好久,终于在国外的网站上找到一些重要的信息,在此记录下来以供 有需要的同学们 学习;

    我是通过命令行的方式来创建的,先下载maven,然后配置好maven,这里我就不说maven的配置啦!进入重点!

    1.通过cmd到项目的所在路径,执行 mvn archetype:create-from-project

    2.执行第一步后,项目中会产生target目录,cd到targetgenerated-sourcesarchetype下,执行mvn install

    执行这个后,这个项目的archetype就会被保存到你maven的本地仓库;

    3.【网上搜到了很多文章都是说,直接执行mvn archetype:generate -DarchetypeCatalog=local;我执行这命令后,并没有看到我新建好的archetype;当然,如果你可以先执行这命令看一下,如果可以看到你新建的archetype,那就根据cmd中的提示开始创建你的项目吧,如果没有,那请按照我的说法来处理一下】

    执行mvn archetype:crawl,执行完之后,到你的本地仓库看一下,本地仓库中是否存在archetype-catalog.xml,本地仓库默认的路径是当前用户的目录/.m2/repository;

    我本地的archetype-catalog.xml内容如下:

    <?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.zls.mvnbook</groupId>
    <artifactId>hello-world-archetype</artifactId>
    <version>1.0-RELEASE</version>
    <description>hello-world</description>
    </archetype>
    <archetype>
    <groupId>org.apache.maven.archetypes</groupId>
    <artifactId>maven-archetype-quickstart</artifactId>
    <version>1.0</version>
    <description>quickstart</description>
    </archetype>
    <archetype>
    <groupId>org.apache.maven.archetypes</groupId>
    <artifactId>maven-archetype-quickstart</artifactId>
    <version>1.1</version>
    <description>quickstart</description>
    </archetype>
    </archetypes>
    </archetype-catalog>

    上面的第一个artifactId为hello-world-archetype就是我本地的archetype

    4.执行mvn archetype:generate -DarchetypeCatalog=file://本地仓库地址/archetype-catalog.xml,这个时候,看看是否存在你新建出来的archetype

    我本地执行后命令行内容如下:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
    >
    [INFO]
    [INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
    <
    [INFO]
    [INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
    -
    [INFO] Generating project in Interactive mode
    [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
    archetypes:maven-archetype-quickstart:1.0)
    Choose archetype:
    1: file://D: epo-for-mearchetype-catalog.xml -> com.zls.mvnbook:hello-world-ar
    chetype (hello-world)
    2: file://D: epo-for-mearchetype-catalog.xml -> org.apache.maven.archetypes:ma
    ven-archetype-quickstart (quickstart)
    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co
    ntains): 2:

    到了这里大家应该会创建了吧,这里选择我们自己的archetype对应的数字或artifactId,如果我新建的archetype从命令行提示看 1: file://D: epo-for-mearchetype-catalog.xml -> com.zls.mvnbook:hello-world-archetype (hello-world) 那么我只要输入1,接下来就是你需要新建的项目的groupId,artifactId等等啦!。。。

  • 相关阅读:
    铁轨
    POJ 2385 -- Apple Catching
    POJ 3258 -- River Hopscotch
    POJ 1469 -- COURSES (二分匹配)
    POJ 2349 -- Arctic Network
    最小生成树
    NOIP200703守望者的逃离
    NOIP200706字符串的展开
    POJ 1036 -- Gangsters
    POJ 1952 -- BUY LOW, BUY LOWER
  • 原文地址:https://www.cnblogs.com/fswhq/p/10728928.html
Copyright © 2011-2022 走看看