关于Java中的多模块项目设计思考
程序员文章站
2022-06-27 19:59:01
前段时间从朋友那里拿到了一套破解版禾匠小程序源码。部署到服务器上面看了一下,确实不错,作为电商平台进销存营销等该有的功能都有,而且还有丰富的付费插件供用户付费开通。作为java开发,有些功能的实现方式在java的系统开发中不大常见,今天主要来探讨一下有没有办法在java中实现类似的功能。系统即可实现单体应用部署,也可实现saas部署系统可实现裁剪,按照客户需求按需付费加载模块,并能实现自动化部署其实上面提到的这两个问题可以归为一个问题,也就是第二个问题。对于php来说这并不是难事,毕竟PHP不用...
前段时间从朋友那里拿到了一套破解版禾匠小程序源码。部署到服务器上面看了一下,确实不错,作为电商平台进销存营销等该有的功能都有,而且还有丰富的付费插件供用户付费开通。作为java开发,有些功能的实现方式在java的系统开发中不大常见,今天主要来探讨一下有没有办法在java中实现类似的功能。
- 系统即可实现单体应用部署,也可实现saas部署
- 系统可实现裁剪,按照客户需求按需付费加载模块,并能实现自动化部署
其实上面提到的这两个问题可以归为一个问题,也就是第二个问题。
对于php来说这并不是难事,毕竟PHP不用编译,功能的修改和增删无非就是服务器端文件的增删替换而已,而对于java这种编译型语言(严格意义上来说java并不能算是编译型语言)来说这真是费了老劲了。php确实是方便,可能就是太方便了导致php近几年发展较为缓慢,最近较热的微服务和云原生等概念基本上找不到php的影子,因为php不需要。
回归正题,经过查询各种资料和查找各个开源项目,找到了一个可能实现以上需求的开源项目
阿里云原生架构
https://www.sofastack.tech/
可借助SOFAArk实现模块的动静态按需加载
模块动态加载借助的事jarslink开源项目
https://github.com/sofastack/sofa-jarslink
但是jarslink的文档写的有点糊涂
在jarslink的文档中有表明动态部署是不支持web项目的
而在SOFAArk的发展路线页面表明0.5.0版本已经支持多个web项目合并部署了,而现在的线上版本已经到了1.1.4版本了,所以具体适不适合还得通过代码去验证
本文地址:https://blog.csdn.net/qq_36173654/article/details/108866723