gradle 小记 -- Copy Sqlmaps

2018-05-11 13:58:02 浏览数 (1)

当使用mybatis时需要编辑sqlmap xml文件,如果将sqlmap文件放入resources中对于查找很不方便,一般一个接口对应一个sqlmap文件,那么最方便的做法就是将sqlmap和接口放到一个文件夹中并且命名一致(sqlmap本身也是代码而不是配置文件),这样查找非常方便,如:

代码语言:javascript复制
xxx.dao -
        |- UserDao.java
        |- UserDao.xml

然后,只要使用编译打包工具如maven、gradle等将sqlmap复制到dist的目录中就ok了。

但是,这时候sqlmap是散落在classes的package目录中,这样启动时扫描又是费点时间的,那么需要打包工具将sqlmap迁移到resource目录下,这样sqlmap只需要扫描一个文件夹就行了,在大项目中可以节约很多启动时间(相对来说)。

下面以gradle为例,创建copySqls任务,然后每次执行 jar、war命令时就能将所有的sqlmap复制到指定目录下。

代码语言:javascript复制
  task copySqls(type:Copy) {
        from("${projectDir}/src/main/java/") {
            include '**/*.xml'
        }
        into "${buildDir}"
        eachFile {details ->
            details.path = "resources/main/sqlmaps/"   details.name
        }
        includeEmptyDirs=false
    }

    classes {
        dependsOn copySqls
    }

0 人点赞