分享

『急』关于hadoop-core-***.jar的问题!!!!!

ablian 发表于 2013-10-16 13:40:01 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 5385
hadoop执行java程序时要先编译成class文件,才能用hadoop命令,但是编译的时候会有如下错误:package org.apache.hadoop.*** does not exist.即总是会有些包找不到。
我的hadoop路径:/usr/local/hadoop
我的CLASSPATH环境变量:/usr/local/hadoop:/usr/local/hadoop/lib:/usr/lib/jvm/java/jdk_1.7.0_03/lib
什么PATH,HADOOP_HOME等环境变量我认为都没问题;
我知道上述问题,我只要在CLASSPATH里头添加/usr/local/hadoop/hadoop-core-1.0.4.jar或者javac -classpath /usr/local/hadoop/hadoop-core-1.0.4.jar.都可以解决上述问题
但,我想问:
我已经在CLASSPATH环境变量里头包含过了HADOOP的安装路径/usr/local/hadoop。而我们缺失的包/usr/local/hadoop/hadoop-core-1.0.4.jar也是在该路径下的,为什么还要我在javac使用时明确通过-classpath来指定该包?
急!!!在线等
              
               
                    Hadoop
                    Java
               

已有(1)人评论

跳转到指定楼层
tntzbzc 发表于 2013-10-16 13:40:41

            这是JAVA问题,和HADOOP没有太多的关系
set CLASSPATH=path1;path2...
每个 path 以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:
对于包含 .class 文件的 .zip 或 .jar 文件,路径以 .zip 或 .jar 文件名结尾。
对于未命名包中的 .class 文件,路径以包含 .class 文件的目录结尾。
对于已命名包中的 .class 文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。
用分号来分隔多个项目。使用 set 命令时,需要省略等号两边的空格(=)。其中 jdkTool 可以为 java、javac、javadoc,等等。有关详细列表,参见 JDK 开发工具。
仔细看这篇文章CLASSPATH详解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条