所以快速的背景是我正在创建一个使用许多不同导入的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,但我不确定这是否是正确的解决方案或如何解决这个问题?
由于
答案 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>
在使用依赖项构建之后,我现在可以编写代码了。