2012-04-06 79 views
6

我有一个很大的jar文件,对其他jar文件有很多依赖关系〜总共有几百MB的40个文件。我很担心这个jar文件的依赖关系问题,因此我希望在编译时将所需的依赖关系添加到此jar的Manifest文件中。我想知道这种方法是否有负面的缺点。我已经对课程加载时间进行了一些测试,他们似乎并没有受到太多的影响。在类路径中包含太多jar文件的影响

我想将依赖关系移动到jar的清单中的另一个原因是,如此多的文件命令行变得漫长而难以阅读。我们有很多-XX选项等被传递到JVM中,但它看起来像没有办法在清单或某种配置文件中设置它们。

+0

就我个人而言,我总是使用一个简单的脚本来启动程序,而不是手工编写所有选项和jar文件(ugh)。这一次解决了所有问题,但是没有任何事情可以反对在清单中添加罐子。 – Voo 2012-04-06 12:28:39

+0

Voo - 感谢您的评论。我目前使用一个脚本,我的两个问题是,当看着正在运行的进程时,它会到达一个点,每个java实例几乎占据一个完整的终端窗口。其次,其他人可以自由使用这个jar,并可以随意调用它。我宁愿如果编译和运行时间之间有联系。 – john 2012-04-06 16:39:19

回答

3

如果你依靠这些罐子,那就没关系。实际上,40个依赖关系并不那么重要,所以不要认为这是一个问题。只要确保你不包含未使用的依赖关系。

+0

我不明白为什么未使用的deps会造成任何问题。当然,他们会扩大规模(并且是不必要的),但由于类加载器很懒,我不明白为什么这会成为一个问题。 – Voo 2012-04-06 12:27:25

+0

我认为这可能是我的问题的关键。链接jar中的依赖关系肯定意味着有未使用的jar。根据罐子的使用方式,许多可能不会被使用。我知道在这种情况下,拆分罐子是理想的。不幸的是,在这种情况下这不是一种选择。 – john 2012-04-06 16:41:13

相关问题