决定如何为项目(例如 Swing GUI)定义 JAR 集的最佳实践是什么?有许多可能的分组:
我是一名经验丰富的开发人员;我知道创建 JAR 的机制,我只是在寻找最佳实践的智慧。
就个人而言,我喜欢每个组件(例如面板)一个 JAR 的想法,因为我非常热衷于封装,以及跨项目重用的 chalice 。然而,我担心的是,在实际的性能级别上,JVM 将难以加载数十个甚至数百个小 JAR 的类。每个 JAR 将包含; GUI 面板代码,必要的资源(即不集中),以便每个面板都可以独立。
当我说“重用的 chalice ”时,我之所以这么说,是因为它展示了一个完全分离的封装设计,而不是一定要在其他地方重用。我认为自己是一个“正常聪明”的人;我认为在我的职业生涯中我不得不处理的相互交织的胡说八道让我放慢了 10 到 100 倍。完全解耦的设计让我可以一次处理一个概念,一层,一个类。
有没有大神分享一下?
最佳答案
我建议 JAR 越少越好。
其背后的逻辑是,磁盘存储是最便宜的商品,但花在追踪复杂依赖项上的时间是无价的。
因此出现了 .war
文件,其中将 Web 应用程序的所有依赖项放入一个文件中。
顺便说一句,Eclipse 有一个 JAR 导出器插件,它将所有依赖的 jar 放入一个 super jar 并公开入门级 main 方法,因此您可以使用 java -jar file.jar
命令启动您的应用程序。尽管生成的 jar 可能很大,但另一方面并没有为您的应用程序维护非常复杂的类路径。
因此,在您的情况下,我会为每个项目使用一个 jar。如果您确定确实需要在另一个项目中重用某些代码,只需将其重构到基础项目中,并使其成为您现有项目和另一个项目中的依赖项。
关于java - 将项目打包到 JAR 中的最佳实践(和含义)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2499501/