Java代码生成器-maven插件制作

一、使用技术

1、freemarker(2.3.23):作为页面静态代工具;

2、dom4j(2.1.1):作为xml文件解析工具。

二、freemarker介绍

三、dom4j介绍

四、maven插件的制作

1、Maven 插件的命名规范

我们会将自己的插件命名为 -maven-plugin,而不推荐使用 maven-plugin-,因为后者是 Maven 团队维护官方插件的保留命名方式。

2、什么是 Mojo?

Mojo 就是 Maven plain Old Java Object。每一个 Mojo 就是 Maven 中的一个执行目标(executable goal),而插件则是对单个或多个相关的 Mojo 做统一分发。一个 Mojo 包含一个简单的 Java 类。插件中多个类似 Mojo 的通用之处可以使用抽象父类来封装。

3、创建Mojo工程?

  • 创建项目:

    使用 Idea 作为开发工具,创建工程选择 Maven,然后在模板(骨架)中找到 maven-archetype-mojo,即可创建一个简单的 Mojo 工程。

  • 打包方式:

    maven-plugin
  • 引入依赖:

    
    
    
        org.apache.maven
        maven-plugin-api
        2.0
    
    
    
        org.apache.maven.plugin-tools
        maven-plugin-annotations
        3.1
    
  • 创建Mojo类:

    继承了AbstractMojo 这个抽象类,并实现了 execute() 方法,该方法就是用来定义这个 Mojo 具体操作内容,我们只需要根据自己的需要来编写自己的实现即可。

    Mojo 的查找机制了,在处理源码的时候,plugin-tools 会把使用了 @Mojo 注解或 Javadoc 里包含 @goal 注释的类来当作一个 Mojo 类。

    /**
     * 使用freemarker生成java文件
     */
    @Mojo(name = "generate")
    public class GenerateCode extends AbstractMojo {
    ​
        /**
         * xml数据目录
         */
        @Parameter
        private String xmlPath;
        
        /**
         * 代码输出目录
         */
        @Parameter
        private String outPath;
    ​
        @Override
        public void execute() {
            ......
        }
  • 插件项目install,安装在本地仓库中。

  • 在使用插件的项目的pom文件中添加插件:

    
        
            
                com.orientsec.spx
                generate-code
                1.0-SNAPSHOT
                
                    //输出代码目录
                    ${project.build.directory}
                    //数据源目录
                    ${project.basedir}\\src\\main\\resources\\xml
                
                
                    
                        package
                        
                            generate
                        
                    
                
            
        
    

完结!

你可能感兴趣的:(项目管理工具)