2012-06-08 54 views
1

我正在使用Eclipse中的Hadoop项目,这取决于我的另一个项目;我在构建路径中包含了其他项目,但是当我导出依赖项目时,它只包含来自同一项目的类。在我的jar包中使用Eclipse打包所有外部类

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

在Eclipse中,有没有一种方法可以自动构建和包含您所依赖的项目中的类?

谢谢。

回答

1

您coud使用Ant自动构建,测试和出口。它需要一些时间来学习它,但它的价值。 有可能的任务(文件集,zipgroupfileset,副本)包括文件,罐子(解压缩)或任何东西到最后的罐子里。通过这种方式,你明确地知道你的发行版里面有什么,并且你不需要运行eclipe安装。

1

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

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

maven的一个缺点(以及对maven的许多负面评论的原因)是一个初步陡峭的学习曲线,可能令人沮丧。然而,你想要做的事情非常简单,我希望你可以找到一些例子,告诉你你想要做什么。

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

相关问题