由于是第一次使用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 来打包项目。
打包后的目录结构:
打包成功后在项目的根目录找到build/package文件下下的xxx目录,结构和官网提供的maven打包后的结构一样,然后通过官网提供的脚本来运行项目即可。
有几个同学也问过这个问题,谢谢你的分享,点赞 + 收藏