1

我正在 Eclipse 中开发一个 Hadoop 项目,该项目依赖于我的另一个项目;我在构建路径中包含了另一个项目,但是当我导出依赖项目时,它只包含来自同一个项目的类。

通常,这不会成为问题,因为我可以将另一个项目与 -cp 标志链接起来,但 Hadoop 要求您将 jar 作为参数传递,这意味着我的所有依赖项都必须在该 jar 中。

有没有办法在 Eclipse 中自动构建和包含您所依赖的项目中的类?

谢谢。

4

3 回答 3

1

您可以使用Ant自动构建、测试和导出。它需要一些时间来学习它,但它是值得的。有可能的任务(文件集、zipgroupfileset、复制)将文件、jar(解压缩)或任何东西包含到最终的 jar 中。通过这种方式,您肯定知道分发 jar 中的内容,并且您不需要运行 ecipe 安装。

于 2012-06-09T04:59:51.500 回答
1

我建议你看看 maven 作为构建工具。您在称为 pom 文件的文件中定义每个项目的依赖关系和构建步骤。Eclipse 的 maven 插件(m2e 插件)可以采用 pom 文件中的配置并设置您的 Eclipse 构建路径和项目描述,以便您可以访问 Eclipse 中其他项目中的类。Maven 还可以为您创建一个 jar,其中包含来自两个项目的类(“jar-with-dependencies”)。

在 Maven 术语中,您的两个项目被称为“工件”,其中一个项目依赖于另一个项目。

maven 的一个缺点(以及许多关于 maven 的负面评论的原因)是最初陡峭的学习曲线,这可能会令人沮丧。但是,您要尝试做的事情非常简单,我希望您能找到一些示例,向您展示您想要做什么。

第一步,这就是我的回答,是看看 maven。它可能看起来过于复杂,但随着您的 hadoop 应用程序变得越来越复杂,它可以扩展以处理您需要的几乎任何构建配置。

于 2012-06-09T13:19:29.000 回答
0

您可以将项目导出为 Runnable jar,如果您想要一个包含依赖项的单个 jar,这可能会很有用。

选择项目。文件 > 导出。选择 Java 部分。选择可运行的 JAR 文件。

查看相关答案:

Eclipse:如何使用外部 jar 构建可执行 jar?

于 2012-06-09T02:25:53.977 回答