2013-01-24 81 views
3

我想为使用junit和mockito的mapper和reducer运行一些单元测试。
我必须在每次运行测试时指定hadoop核心和commons jar文件在classpath中的位置吗?
我以为运行“hadoop”命令应该在运行时自动包含所有必需的库。无论如何避免每次都输入hadoop依赖关系?hadoop类路径

hadoop -cp /home/xxx/Downloads/mockito-all-1.9.5.jar:/home/xxx/Downloads/junit-4.10.jar:/home/xxx/Downloads/hadoop-1.1.1/hadoop-core-1.1.1.jar:./classes:.:/home/xxx/Downloads/hadoop-1.1.1/lib/commons-logging-1.1.1.jar org.junit.runner.JUnitCore MaxTemperatureMapperTest 

回答

2

您可以在hadoop-env.sh中指定类路径。 “export HADOOP_CLASSPATH = *” 下一次运行hadoop时,类路径将自动添加。

+0

运行hadoop命令vs Java命令有什么用处? “export HADOOP_CLASSPATH = *”是做什么的? – user1982993

+0

运行hadoop程序时,通常使用hadoop命令。当然,您可以查看bin/hadoop以查看hadoop命令实际执行的操作。使用导出,以便它自动添加到程序的类路径中,以便每次运行时不必将其添加到参数中 – user1687035