11

所以快速背景是我正在创建一个 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,但我不确定这是否是正确的解决方案或如何去做?

谢谢

4

7 回答 7

9

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

如果仅使用 Hadoop(如您的示例中),这似乎没什么大不了的,但是在处理大型项目时,在 pom.xml 文件中声明您的依赖项会更容易。它比下载 X 个不同的 jar 更容易,并且您可以轻松移动到更新版本的库,而不必删除并下载另一个。

我看到有人在评论中问为什么人们这么喜欢 Maven。好吧,老实说,我个人觉得它易于使用且非常有用。此外,可以轻松地将 Maven 项目导入 IntelliJ、Eclipse 或 NetBeans,而创建例如 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>
于 2012-07-05T14:09:31.013 回答
4

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

在 Eclipse 中,右键单击您的项目,单击 Properties,在文本框中搜索 Library,单击 Build Paths,单击 Add External JAR,然后选择您从上面的链接下载的文件。

于 2013-04-17T07:55:45.033 回答
3

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

于 2012-07-05T14:04:37.297 回答
2

您必须下载它们。该名称org.apache.hadoop是一个包名,我们只使用站点的名称作为约定。有关更多信息,请参阅有关包的本教程。本质上,包是您计算机上的一个文件夹,通常位于Java\jre\lib\ext\目录中。

于 2012-07-05T14:04:24.183 回答
2

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

它提到:-

Download Hadoop-core-1.2.1.jar, which is used to compile and execute the MapReduce program. Visit the following link http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1 to download the jar.

于 2015-08-06T11:20:56.533 回答
1

不是 netbeans 用户,但我敢肯定,即使在 netbeans 中,您也有一个 maven 插件。“Mavenize”您的项目,当您执行 mvn clean install 时,您会将这些 jars 获取到本地 maven 存储库。
对于 Eclipse,我使用 m2Eclipse 插件,它对我来说非常有效。
这当然取决于这些 jars 可以在网络上的 maven 存储库中找到,例如maven central repository

于 2012-07-05T14:04:23.520 回答
0

我终于找到了创建新 Hadoop 项目并使用 Maven 导入依赖项的首选方法。

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

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

我终于在里面添加了

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

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

于 2013-11-08T15:01:14.943 回答