我正在使用Eclipse“Export ... Runnable jar file”功能来打包我的Clojure + Java应用程序以进行部署。
这很棒,神奇地包括各种资源和Clojure源文件等。
我遇到的一个问题是我从“lib”目录依赖项目中多次包含各种库,例如:由于构建路径上的其他项目也使用了Clojure,我得到了Clojure jar文件的四个版本。
这个问题不可避免地使我的.jar文件大小增加了三倍!
除了从生成的jar手动删除之外,有没有办法轻松消除这些重复项?
答案 0 :(得分:2)
如果你的项目有一个自然的依赖图,我会改变你的eclipse项目设置,这样只有一个项目在构建路径上有jar并且 exports (通过export我的意思是来自“配置构建路径”对话框中的“订购和导出”选项卡),供其他项目查看。然后其他项目在构建路径上有“核心”项目。我相信这应该会自然地解决你的问题。
修改强>
我的一个评论是,在罐子里放一个罐子很少是个好主意。我要么重新考虑将它们全部打包到一个jar中(除非jar的主文件的目的是将其自己的内容提取到文件夹中),或者可能探索使用“将所需的文件库提取到生成的JAR”选项的可能性。