【问题标题】:taking care of dependencies while creating a jar file在创建 jar 文件时处理依赖关系
【发布时间】:2013-01-15 08:54:27
【问题描述】:

我创建了一个包,通过导入其他程序员的代码来使用它。 我的程序使用其他 jar 文件进行 XML 解析,我不希望其他人担心依赖关系 确保我的 jar 文件始终获得其依赖项的最佳方法是什么?

  1. 我应该在我的原始 jar 中包含依赖项吗?
  2. 还有其他方法吗?

【问题讨论】:

标签: java import jar


【解决方案1】:

我想说最干净的解决方案是使用 bulid 脚本,例如使用 Ant 或 Maven。在 Maven 中,您可以创建一个名为 mayank 的本地存储库。现在,您的所有团队成员只需要包含依赖项 mayank;所有其他依赖项将自动下载。他们不必担心其他任何事情。

【讨论】:

  • 你能告诉我更多关于 ant 或 maven 的细节吗?
  • 我建议使用 Maven 或者你也可以探索 gradle。但 Maven 是行业标准。 maven.apache.org
【解决方案2】:
  1. 如果您想以 zip 存档的形式发布您的源代码,我会将依赖项保留在项目 jar 之外。例如在文件夹名称 lib 中。

  2. 我会使用像 Maven (http://maven.apache.org) 这样的构建工具来管理我的依赖项。设置像 Nexus (http://www.sonatype.org/nexus) 这样的存储库非常容易,您的团队成员可以在其中获取您的 jar 和所有必需的依赖项。

【讨论】:

    【解决方案3】:

    使用jarjar,似乎完全符合您的要求,不会强迫您的潜在用户完全使用 Maven(有些可能使用旧的 Ant 脚本或 IDE 功能直接添加 .jar 文件)。

    【讨论】:

    • jarjar 并不总是一个解决方案 - 您必须注意绑定到特定 jar 的许可证。你不能随心所欲地随意翻录和重新分发任何你想要的东西。
    • 没有针对许可问题的技术解决方案。使用任何工具,您都不能随心所欲地翻录和重新分发任何内容!
    猜你喜欢
    • 2014-07-16
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2019-08-12
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多