我有几个独立的项目(它们没有相同的父项目),但它们使用相同的库集。例如
- 项目A
- 项目 B
- 项目 C
所有这些项目都使用 Spring、Postgres、Hibrenate 和 tomcat。我想要做的是按照以下几行介绍一个命名的依赖集合的概念:
- TSHP 1.0 - 可能由 tomcat 6.0.35、Spring 3.0.7、Hibernate 3.6.8 ... 等组成
- TSHP 2.0 - 可能包含 tomcat 7.0.32、Spring 3.1.2、Hibernate 4.1.7 .. 等
我希望能够说项目 A 依赖于 TSHP 1.0,项目 B 依赖于 TSHP 2.0 ......等等。我看到的这种设置的价值是
- 很容易对一组与公司一起使用的通用库进行标准化,因此跨项目审计很容易,如果你知道它是,你不必深入研究项目的 pom 来查看其中的内容使用一组命名的依赖项
- 使用标准类路径启动一个新项目可能非常容易,因为它应该可以只包含对命名组的单个依赖项并获得该类型应用程序所需的一切,只需要一个人弄清楚并验证组合命名类路径中的 jar 确实可以很好地相互配合。
这种类型的设置可以用maven3完成吗?如果有怎么办?
更新:我在父 pom 设置中看到的问题是 POM 只能有一个父级,但我可能有几个标准的命名类路径,例如:
- WEB_SECURITY - 可能是用于防止常见 Web 安全问题的 jar 集合,因此 Web 应用程序可能包含 TSHP + WEB_SECURITY,而批处理应用程序可能仅包含 TSHP。组合比继承更好,而且更灵活。