gradle 打包发布 jfinal 项目

        由于是第一次使用gradle构建jfinal项目,也是第一次使用gradle,对gradle构建语法不是特别了解,通过查找资料大概了解了gradle语法后,写了一个简单的使用gradle打包jfinal项目的demo,如果有些地方不合适的还望大佬指正。

        我的思路是让gradle打包后的文件目录和官网上的maven打包目录一样,然后通过官网提供的脚本启动打包后的项目。

        通过查阅资料gradle可以通过在build.gradle文件中编写task来实现文件的copy,下面是具体的代码。

        

//xxx为自己的项目名
//copy项目启动所需要的config文件
task copyConf(type: Copy) {
    from('src/main/resources/config')
    into('build/package/xxx/conf')
}
//copy项目webapp下的所有文件
task copyWebapp(type: Copy) {
    from('src/main/webapp')
    into('build/package/xxx/webapp')
}
//copy项目依赖的所有jar
task copyLibs(type: Copy) {
    from configurations.runtime
    into('build/package/xxx/lib')
}
//copy项目打包后的jar
task copyJar(type: Copy){
    from('build/libs')
    into('build/package/xxx/lib')
}
//把上述的task串联起来,打包项目
task buildxxx(dependsOn: [
        'build',
        'copyLibs',
        'copyConf',
        'copyWebapp',
        'copyJar'
]){}

        把这5个task写入build.gradle文件中,在项目的根目录执行gradle buildxxx 来打包项目。

        打包后的目录结构:image.png

        打包成功后在项目的根目录找到build/package文件下下的xxx目录,结构和官网提供的maven打包后的结构一样,然后通过官网提供的脚本来运行项目即可。


评论区

JFinal

2019-06-21 16:46

jfinal 官方提供的 maven 打包配置,本质也就是目录创建与文件 copy,所以 gradle 也可以按照其目录结构,相关文件来生成相同的结果即可

有几个同学也问过这个问题,谢谢你的分享,点赞 + 收藏

热门分享

扫码入社