PlayFramework1.2.7介绍及优化打包发布[二]

使用–exclude指令优化编译内容

上文我们介绍了执行一个普通的打包命令后的文件结构,和这些文件中的内容和功能,但是我们会发现,一旦项目文件比较多了(一个项目包含前端后端文件网网超过上千个文件),编译和打包的速度会比较慢,一般都需要4~5分钟.而且会生成许多"无用"的文件内容,那么我们第一步就可以思考一下,如何在编译时的那些没用的文件不要输出出来?

在命令行中我们输入play打包时的命令,看一下play的帮助提示:

play war

我们会看到打包出了一个错误,但同时play也提示了我们一个新的参数

微信截图20191118094907.png

这边提示我们:
To exclude some directories, use the --exclude option and ':'-separator (eg: --exclude .svn:target:logs:tmp)

若需要排除一些目录,我们可以使用--exclude参数,并且使用’:'作为多个文件或文件夹的文分隔符,例如–exclude .svn:target:logs:tmp

使用exclude参数后我们就可以把前面所说的多余的文件内容排除掉,例如app中的.java源文件,这样打包之后的文件内容就干净了很多,并且一定程度上也加速了打包的过程,毕竟输出的文件内容少了许多.

play war youapplication -o outpath --exclude app/controllers:lib:test

上边是一个完整的打包指令,我们排除了app/controllers目录和lib,test目录,这样我们打出的包中就不会存在上边的目录

微信截图20191118100057.png

命令行输出了排除的目录结构

微信截图20191118100125.png

打包后可以看到app目录下边原本的controllers目录消失了,外层的lib和test目录也没有了.

那么我们已经完成了精简打包目录的工作,我们可以把不需要的文件内容全部排除掉,为了方便,也可以把上边的命令制作成一个批处理文件,方便我们反复的执行打包.

不过对比一般的打包命令,我们的编译速度其实并没有发生显著的变化,减少了许多目录文件的输出,但是速度仅仅提高了几十秒,这是我们无法接受的,那么接下来我们再进一步分析,打包过程中究竟发生了什么?如何使速度再加快一点?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值