2

如果我们正在构建一个大型的 java 类库,什么决定何时最好将它们拆分为单独的 jar 文件?

我的理解是拥有一个大 jar 文件不应该显着影响 JVM 性能。但是,如果在对 jar 进行更改或添加时运行一整套冗长的测试,则会产生一些开发成本。将大型 jar 文件与 maven 和 archiva 一起使用时是否有成本或收益?

人们在实践中使用什么策略?

4

3 回答 3

4

只考虑变更管理方面,其余的可以忽略不计。Jar 文件是确定最小易发布单元的东西。

于 2012-02-16T20:13:53.150 回答
1

我们喜欢将罐子分成更小、更易于管理的单元。每个 jar 都特定于执行一部分任务。当我们开发一个应用程序时,我们只会将它需要的 jar 放入其中,而不是一个包含所有东西的大 jar。

我们有用于安全、UI、通用结构和界面、本地化以及许多其他特定于我们行业的东西的 jar。

于 2012-02-16T20:08:30.697 回答
0

jar 项目逻辑上独立的层,没有循环依赖,一层只依赖前面的层。

您可以(除了项目名称)在 IDE 中列出一个描述性名称,保持项目有序的一种方法是使用缩写和数字前缀:

  • CD01 基础库
  • CD10 数学库
  • CD30 道库
  • CD91 xysite
于 2012-02-16T20:09:43.530 回答