【问题标题】:Avoiding duplicate library .jars when exporting a single .jar in Eclipse在 Eclipse 中导出单个 .jar 时避免重复的库 .jar
【发布时间】:2010-06-30 14:44:37
【问题描述】:

我正在使用 Eclipse 的“导出...可运行的 jar 文件”功能打包我的 Clojure+Java 应用程序以进行部署。

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

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

这个问题不必要地增加了我的 .jar 文件的大小!

除了从生成的 jar 中手动删除之外,还有什么方法可以轻松消除这些重复项?

【问题讨论】:

    标签: java eclipse deployment jar clojure


    【解决方案1】:

    如果您的项目有一个自然的依赖关系图,我会更改您的 Eclipse 项目设置,以便只有一个项目在构建路径上有 jar,并且它 exports(我的意思是从“配置构建路径”对话框中的“订购和导出”选项卡)供其他项目查看。然后其他项目在构建路径上有那个“核心”项目。我相信这自然会解决您的问题。

    编辑

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

    【讨论】:

    • 谢谢这是非常有用的建议。我觉得“将所需的库提取到生成的 jar 中”可能是最好的方法,尽管我对潜在的陷阱有点敏感,例如重复的文件名.....
    • @mikera:如果您正确有效地使用包名,重复文件名的问题在很大程度上不是问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多