Maven添加自定义archetype骨架


以webapp模板项目为例,使用的IDE为IDEA 2019

 

1.创建webapp模板项目,结构如下图

 

 共性配置文件如applicationContext-dao.xml、applicationContext-service.xml、spring-mvc.xml、applicationContext-trans.xml、log4j.xml等可以自己额外添加到resources目录下,作为模板

 

2.修改pom文件,加入如下内容:

<build>
        <finalName>yyj-archetype-webapp</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>3.1.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <includeEmptyDirs>true</includeEmptyDirs>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

 

3.项目根目录(pom.xml)所在目录)执行maven命令:mvn archetype:create-from-project

执行成功如下图:

 

 

注意没有使用IDE自带的Maven,可能报:[ERROR]  The specified user settings file does not exist: C:\Users\cchengyyj\.m2\settings.xml

 解决办法:将独立的安装maven的setting.xml文件拷贝到C:\Users\**\.m2目录下即可

 

4.target生成后的目录结构

 

 5.修改archetype-metadata.xml、pom.xml

  5.1    archetype-metadata.xml配置文件告诉archetype插件,archetype-resources里面哪些文件需要包含到创建出的项目里

<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 http://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd" name="yyj-archetype-webapp"
    xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <fileSets>

    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.**</include>
      </includes>
    </fileSet>

    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/resources</directory>
      <includes>
        <include>**/*.**</include>
      </includes>
    </fileSet>

    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/test/java</directory>
      <includes>
        <include>**/*.**</include>
      </includes>
    </fileSet>

    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/webapp</directory>
      <includes>
        <include>**/*.**</include>
      </includes>
    </fileSet>

    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/webapp/WEB-INF/lib</directory>
      <includes>
        <include>**/*.**</include>
      </includes>
    </fileSet>

    <fileSet encoding="UTF-8">
      <directory></directory>
      <includes>
        <include>yyj-archetype-webapp.iml</include>
      </includes>
    </fileSet>

  </fileSets>
</archetype-descriptor>

 

   5.2    pom.xml文件自己生成的<artifactId>和<name>元素值,不满意,根据自己喜好更改,也可以不改;<packaging>maven-archetype</packaging>修改为<packaging>jar</packaging>

 

6.将骨架部署到本地maven仓库
generated-sourced/archetype目录下运行maven命令:mvn clean install

 7.执行maven命令:mvn archetype:crawl(在指定的Maven库中查找可以的模板,并更新模板目录),会在maven仓库的根目录生成archetype-catalog.xml,里面有骨架的坐标信息

 

能找到刚刚创建的骨架坐标信息,如下:

 

 

8.使用骨架

 

 生成的目录结构如下:

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM