mark@maestro1:/usr/lib/hadoop/wordcount_classes$ javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d /usr/lib/hadoop/wordcount_classes /usr/lib/hadoop/wordcount_classes/WordCount.java
/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar(org/apache/hadoop/fs/Path.class):
warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found
/usr/lib/hadoop/wordcount_classes/WordCount.java:14: error: error while writing Map: could not create parent directories
public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
^
1 error
1 warning这个错误是怎么回事?我不能编译这个wordcount.java文件!
人们一直告诉我要正确设置我的java类路径。还有没有人对我是怎么做的有什么看法?请帮帮我!谢谢!
发布于 2012-09-20 22:32:51
这
-d /usr/lib/hadoop/wordcount_classes指示要将类文件写入的位置。这是正确的吗?我怀疑你没有在那里写东西的权限,因此:
error while writing Map: could not create parent directories您能否在该目录中创建一个目录(提示:使用mkdir)?我不认为/usr/lib目录是一个很好的地方,顺便说一句,即使你可以这样做。我希望您在自己的主目录中执行开发。
/usr目录通常用于安装程序、库等,并且对普通用户有写限制。man hier很好地解释了Unix中使用的不同目录。
https://stackoverflow.com/questions/12514867
复制相似问题