【问题标题】:how do I add open source API code to an eclipse project?如何将开源 API 代码添加到 Eclipse 项目?
【发布时间】:2013-01-29 15:40:13
【问题描述】:

我必须编写一个 java 应用程序,我使用 eclipse 将它放在一起,它依赖于开源代码。这个应用程序需要是自包含的,这意味着我应该创建一个没有外部依赖项的 jar 文件。

当我在项目的构建路径中引用 jar 文件时,我可以使用开源代码,但我的想法是让实际的源代码作为 eclipse 项目的一部分,与我的代码并排。

可以在此处找到源代码:http://hc.apache.org/,但是当我将现有文件系统导入到我的项目中时,我无法完全正常工作。这些包的名称错误,引用中断,我无能为力。请注意,包含源代码的文件夹具有以下结构:

 httpcomponents-client-4.2.3\
    src\
    httpmime\
    httpclient-osgi
    httpclient-contrib
    httpclient-cache
    httpclient-benchmark
    httpclient
    fluent-hc

每个子文件夹都有 src/main/java/org/apache 子文件夹。

有人可以解释一下如何做到这一点吗?我应该一次导入一个 java 文件吗?

【问题讨论】:

  • 如果你使用 maven 来构建你的项目,你可以使用 maven-shade-plugin 将你编译的代码和依赖的 jar 拉到一起。 (评论,因为它可能不适用于您的情况)

标签: java eclipse open-source project


【解决方案1】:

使用OneJarFatJarJarJar等工具来创建单jar应用程序。

正如查理所说,Maven Shade plugin 是另一种选择,特别是如果您已经在使用 Maven。如果不是,请考虑使用它或其他传递依赖管理工具。

应该使用一些工具,IMO,而且你拥有的依赖项越多,它就越重要。

或者,您可以使用 jar class loader 并将 jar 文件包含在您的工件中。

我绝对不会在您自己的项目中包含依赖项的来源

【讨论】:

  • @JohnSmith 可能没有抓住重点;)这听起来更像是 Jenkins 类路径配置问题,但 可能 与版本冲突等有关,具体取决于实际症状。我对 Jenkins 不够熟悉,无法提供与类路径相关的具体建议,但我想有一种方法可以以合理的方式确定它们(啊,假设)。例如,如果有一个 mass-classpath-for-everything,则可能需要某种形式的包着色以避免版本冲突。
猜你喜欢
  • 2016-09-02
  • 2019-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 1970-01-01
  • 2011-06-06
  • 2010-11-24
相关资源
最近更新 更多