大型的java web项目 如何多人协作 而且保证自己小组的功能模块不被其他人看到

一个大的 javaweb项目 用 spring springmvc mybatis框架编写 如何保证代码的安全性 核心的业务代码不想让所有的开发人员 查看更改 而且项目是多人合作,后台管理都集中在一个管理页面

功能拆分出来以jar包的形式加入项目中

使用类似dubbo等分布式框架 或者使用spring-cloud 微服务模式 核心服务和常规服务分开

用代码版本控制工具如svn,git

这个需要持续集成框架和源代码管理,每个人的源代码提交到源代码管理服务器,然后再自动构建,返回一个完整的软件。编写某部分程序的程序员自然就不能接触到和它无关的源代码了。

持续集成比如说有Jenkins,源代码管理没什么选择了,自从git出来以后,别的都基本没人用了。

如果是传统集成式后台(核心代码和非核心代码都放一起),代码是不容易拆分的,因为在一个项目下,开发人员都有权限clone开发代码(可以考虑jar包封装,代码加密)。
如果是微服务后台就简单许多了,根据业务拆分成不同项目,分配不同权限就可以了。 (推荐)

核心的功能单独放到一个项目里面,对外只提供api,采用RPC Service 方式提供服务就好了,其他人只能看到api,剩下的都看不到
项目用git管理,配置好权限

源代码是集中到统一的一个 大的project 还是 分成 多个 小的project 每个组负责一个project 维护很麻烦 核心开发人员需要掌握所有代码统一管理

把各个模块全部做成微服务就ok了,每个模块都是一个服务,之间就是服务调用,不知道核心逻辑,只能调用,每个模块每开发一个功能,就写一个服务文档(对暴露的功能),然后调用者看文档调用,现在比较流行的试springboot+spring cloud,老一点就是dubbo+zookper,a模块使用b模块去b模块的注册中心拿服务就行了,源代码完全封闭