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

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

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

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

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

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

最佳答案 如果你的项目有一个自然的依赖图,我会改变你的eclipse项目设置,这样只有一个项目在构建路径上有jar并且它导出(通过export我的意思是来自Configure Build中的“Order and Export”选项卡)路径对话框)该jar可供其他项目查看.然后其他项目在构建路径上有“核心”项目.我相信这应该会自然地解决你的问题.

编辑

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

点赞