在Eclipse中导出单个.jar时避免重复库.jars

时间:2010-06-30 14:44:37

标签: java eclipse deployment jar clojure

我正在使用Eclipse“Export ... Runnable jar file”功能来打包我的Clojure + Java应用程序以进行部署。

这很棒,神奇地包括各种资源和Clojure源文件等。

我遇到的一个问题是我从“lib”目录依赖项目中多次包含各种库,例如:由于构建路径上的其他项目也使用了Clojure,我得到了Clojure jar文件的四个版本。

这个问题不可避免地使我的.jar文件大小增加了三倍!

除了从生成的jar手动删除之外,有没有办法轻松消除这些重复项?

1 个答案:

答案 0 :(得分:2)

如果你的项目有一个自然的依赖图,我会改变你的eclipse项目设置,这样只有一个项目在构建路径上有jar并且 exports (通过export我的意思是来自“配置构建路径”对话框中的“订购和导出”选项卡),供其他项目查看。然后其他项目在构建路径上有“核心”项目。我相信这应该会自然地解决你的问题。

修改

我的一个评论是,在罐子里放一个罐子很少是个好主意。我要么重新考虑将它们全部打包到一个jar中(除非jar的主文件的目的是将其自己的内容提取到文件夹中),或者可能探索使用“将所需的文件库提取到生成的JAR”选项的可能性。