【发布时间】:2018-06-07 00:36:22
【问题描述】:
- 我们的团队每年开发大约 5 个网络应用程序,用于各种 我们公司的部门。
- 应用程序不相关,它们有自己的应用服务器、数据库和基于数据库的用户,没有单点登录服务器或通用数据库。
- 我们重新创建每个新项目(从以前的项目复制/粘贴) Java & Javascript 的用户管理、菜单等常用代码 管理、代码描述、安全等
- 外观会根据要求进行更改。
- 现在我们创建了一个 util 项目,它有一些常见的 方法(如电子邮件、电话号码验证器、日期时间工具、 日期序列化器等)
- 新项目使用 util 项目作为依赖项。
- 当我们确定需要新的 util 方法时,我们将其添加到 util 项目并发布一个新版本。(具有自己生命的util项目 循环)。如果需要,其他项目可以升级到新版本的 util。
我们的技术栈是 Spring boot - spring MVC、security、data-JPA & Angular JS & Thymeleaf
现在我想避免为每个项目重新创建常见的东西(用户、菜单代码描述等)。
我没有多模块 maven 项目的实践知识,所以无法决定,最佳实践是什么。
这里是选项?
- 创建父项目(使用用户、菜单服务、存储库、实体类等)并继承到其他项目。 (仅父 pom 或带有类的父项目)
- 将常用的东西创建为一个模块并聚合。(如何管理生命周期?)
- 用自己的独立maven项目创建通用的东西 生命周期并将其用作依赖项。(客户端脚本会发生什么)
想知道最佳实践。
【问题讨论】:
-
我建议您为您的 util 项目创建一个 jar 文件,并在需要时包含该 jar
-
@SasikumarMurugesan 我们已经为常见的实用程序类/方法这样做了,我的问题是我应该将用户、菜单类也添加到它自己的项目(核心 jar 项目)中还是应该做一些继承或多模块。因为这个公共类需要自己的依赖,比如spring data、security、hibernate,所以如何管理依赖。,
标签: java maven spring-boot jenkins multi-module