首先,我从C#开始回到Java,所以,如果我的术语或哲学不太一致,请致歉。软件包与java中的项目分离
下面是背景:我们已经有越来越多的为网络编写的内部支持工具。他们在前端使用HTML5/AJAX /其他流行语,后端使用Java。这些工具利用了一个轻量级的内部框架,因此它们可以共享一个用于安全性和其他配置的管理界面。每个工具都由独立作者编写,我希望这种趋势能够继续下去,所以我希望让未来的作者能够轻松地在我们已经决定用于事物的第三方库上保持“标准化”像DI,单元测试,ORM等
我们的包命名目前看起来是这样的:
- com.ourcompany.tools.framework
- com.ourcompany.tools.apps.app1name
- com.ourcompany.tools.apps.app2name
...等等。
所以这里是我的问题:应该将这些应用程序(和框架)中的每一个作为Maven安装程序,Eclipse等目的的单独项目处理?
随着时间的推移,我们可能会出现很多应用程序,所以看起来分离会让依赖关系更加清洁,并让其他人更轻松地使用单个工具。另一方面,(1)也许“分裂”一个包装结构的较深部分在多个项目中是一种代码异味,(2)将它们组合在一起会使工具编写者更倾向于使用已经存在的第三方库工具。
FWIW,我最初的直觉是将它们分开。
什么说你,Java大师?
直到你提到它之前,我还没有意识到依赖关系处理的父pom概念。我真的很喜欢这个想法来加强整个应用程序的标准化。其他答案也很棒,但是父母给了这个优势。谢谢! –