如何导入org.apache Java依赖项w /或没有Maven

时间:2012-07-05 14:00:15

标签: java netbeans import hadoop dependencies

所以快速的背景是我正在创建一个使用许多不同导入的java程序

    import org.apache.hadoop.conf.*;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.*;
    import org.apache.hadoop.mapreduce.*;
    import org.apache.hadoop.util.*;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

我知道Netbeans没有找到这些文件,因为我的计算机上没有这些文件。但有没有办法让Netbeans自动连接org.apache并检索这些文件?或者我只需要下载它们。有人建议使用Maven,但我不确定这是否是正确的解决方案或如何解决这个问题?

由于

7 个答案:

答案 0 :(得分:8)

除非您使用Maven结构(请参阅此处getting started with Maven),否则您必须手动下载所有jar。

如果仅使用Hadoop(如在您的示例中),这可能看起来不那么重要,但在处理大型项目时,更容易在pom.xml文件中声明您的依赖项。它比下载X不同的jar容易得多,你可以轻松地移动到更新版本的库,而不必删除和下载另一个。

我看到有人在评论中问为什么人们喜欢Maven这么多。嗯,说实话,我个人认为它易于使用且非常有用。此外,可以在IntelliJ,Eclipse或Netbeans中轻松导入Maven项目,而创建例如IntelliJ项目可能会导致在Eclipse或NetBeans中导入它时遇到困难。

要开始使用Maven和Netbeans,您可以访问:新项目,类别:Maven项目:{最佳选项}。然后在项目文件中,打开pom.xml。这是添加项目依赖项的位置。如果您不确定要插入什么,请尝试在互联网上搜索您的jar名称+“maven”。 Netbeans的插件能够连接到maven存储库并自动完成大多数字段。

示例来自:http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.6

<project...>
....
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>1.0.3</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
</dependencies>
...
</project>

答案 1 :(得分:4)

在此处下载.jar文件:http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/0.20.2

在Eclipse中,右键单击项目,单击“属性”,在“库”文本框中搜索,单击“构建路径”,单击“添加外部JAR”,然后从上面的链接中选择下载的文件。

答案 2 :(得分:3)

您必须自己下载jar文件。除非您开始使用Maven或类似的依赖管理工具。

答案 3 :(得分:2)

您必须下载它们。名称org.apache.hadoop是包名称,我们仅将站点名称用作约定。 See this tutorial on packages了解更多信息。基本上,程序包是计算机上的文件夹,通常位于Java\jre\lib\ext\目录中。

答案 4 :(得分:1)

不是netbeans用户,但我确信即使在netbeans中,你也有一个maven插件。 “Mavenize”您的项目,当您执行mvn clean install时,您将把这些jar放到本地maven存储库中。
使用Eclipse我使用m2Eclipse插件,它对我来说非常好用。
这当然取决于这些罐子可以通过网络在maven存储库中找到,例如maven central repository

答案 5 :(得分:1)

参考教程 http://www.tutorialspoint.com/hadoop/hadoop_mapreduce.htm

提到: -

下载Hadoop-core-1.2.1.jar,用于编译和执行MapReduce程序。请访问以下链接http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1下载jar。

答案 6 :(得分:0)

我最终想出了创建新Hadoop项目的首选方法,并使用Maven导入依赖项。

使用NetBeans我创建了一个新的Maven项目。

然后在项目文件下,打开pom.xml。

我最后添加了

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>0.20.2</version>
    </dependency> 

在使用依赖项构建之后,我现在可以编写代码了。