我们有一些常见的代码部署在包中,正如预期的那样。其中一些包是handler, processor, util, registration
等
这里很常见,这意味着将在多个/ Java项目中被重用,这些项目彼此之间是不相关的。
问题是如何包装以供分发。
每个包都包含一个不同的功能单元,但是将它们放在一起,它们是一个API。
我们是否应该将单个功能绑定到一个JAR中,并最终得到8-10个JAR。例如:处理程序jar,注册jar等
或
我们是否应该采用最不常见的方法,即在一个罐子中构建一个由5个强制包组成的基本组件。任何其他人都需要这个罐子作为基础,并且可以选择附加的罐子。
我们的构建系统是Ant + Ivy,这些依赖将在编译和构建时得到解决。
发布于 2011-07-22 05:21:04
除非您有大量的API类(想想Spring),或者注意到它们之间的一些干扰,我认为,没有什么理由将它们分解成单独的jars。在单独的jars中破坏API的唯一其他原因是为了使不同的团队独立工作。
管理单个jar简化了许多事情,不值得修复不存在的问题。
发布于 2011-07-22 05:24:44
用单独的罐子解决方案更好。顺便说一句,如果您使用的是maven,并且每个逻辑组件都有自己的pom.xml,这是唯一的选项。
一个大罐子有更容易分发的优点。例如,如果用户从互联网下载jar并手动安装jar,那么处理一个jar比处理多个jar更容易。但是如果不是这样的话,我建议您使用多jar解决方案。但别忘了用它的版本在每个罐子上盖上邮票。至少将版本放到manifest.mf文件中。Maven还将版本作为jar名称的一部分。这是很好的做法。
发布于 2011-07-22 05:28:35
如果api很大,最好拆分成多个,否则会创建多个。
如果任何应用程序想要使用多个jar,例如注册和util,那么的好处就是单个jar。他/她只需装一个罐子。
如果您的jar大小非常大,并且您只在jar中使用util类,则限制。如果应用程序的大小对您来说不是问题,那么您可以避免它,这可能会增加应用程序的大小。
https://stackoverflow.com/questions/6785924
复制相似问题