在Eclipse定义Maven Archetype模板

Eclipse新建一个maven工程

工程没有任何要求,你希望你的模板工程是什么样子就怎么定义。

POM添加maven-archetype-plugin
<build>
    <plugins>
        <!-- define the maven archetype plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-archetype-plugin</artifactId>
            <version>2.2</version>
        </plugin>
    </plugins>
</build>
在模板工程执行mvn archetype命令

在模板工程上Run as -> Run configurations

配置界面.png
执行成功.png

将maven archetye发布到本地仓储

进入上图中的archetype目录(xxx/target/generated-sources/archetype/),执行 mvn install
执行成功默认会在maven仓储的根目录生成一个archetype-catalog.xml的文件,如果未生成则执行mvn archetype:crawl
若最后还是无法生成也可以自己创建,前提是前面的步骤都是success

<?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.XXX</groupId>
      <artifactId>XXX-archetype</artifactId>
      <version>1.0.0</version>
      <description>XXX</description>
    </archetype>
  </archetypes>
</archetype-catalog>
将archetype-catalog.xml文件导入eclipse

archetype导入eclipse.png
如果模板工程是SNAPSHOT,记得勾选include snapshot archetypes,不然看不见。
eclipse用archetype生成工程.png

出现的系列问题
  • maven.home 未定义,如果需要知道maven安装和eclipse集成请看这里
    错误日志.png
    这个问题是因为没有选对执行的maven,不要eclipse默认的,选择我们自己集成的maven
    MAVEN配置.png
  • 未找到mvn.bat
    错误日志.png

    解决办法是去maven\bin里把mvn.cmd copy一个mvn.bat就可以,原因是老的maven archetype plugin不匹配的原因。

拓展的部分
  • archetype catalog发布到远程的maven仓储
  • 模板工程的细节配置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。