windows平台下在Cygwin中运行Nutch1。2的抓取命令提示JAVA_HOME not set解决方案

本人由守望者MS原创

问题分析:

最近在研究Nutch+hadoop。在unbutu server上部署了一套正式的程序,但是由于调试起来不方便,于是在本机上(windows Server 2003)采用cygwin模拟方式搭建了一个简单的Nutch1.2测试环境。

根据配置方案,在cygwin中进行到:

bin/nutch crawl url.txt –dir localweb –depth 2 –topN 100 –threads 2(注:参数可根据需求改写)命令时,cygwin提示JAVA_HOME not set.

这个提示信息说明了本机的JAVA SDK的环境变量没有配置。(因为之前在本机一直做JAVA的开发,所以下意识的打开cmd,输入javac命令,命令可以执行,这就说明我的环境变量配置没有问题,但是为什么在cygwin中提示没有配置呢,接下来我们继续检查问题)。

打开我的电脑(右键)->属性->高级->环境变量,检查环境变量。

CLASSPATH:.;C:\Program Files\Java\jdk1.6.0_24\bin(剩下的略去)

发现也没有问题。

到底是为什么呢?

之后打开cygwin,输入env查看环境变量的模拟配置,在PATH中发现重要信息。

a

从图中可以看出,cygwin把windows的环境变量全部模拟成了自己的模式,而这里的一些特别的路径是根据%JAVA_HOME%,%systemroot%之类的目录配置去解析的。

所以问题的根源在于我前期做JAVA开发的时候,设置环境变量时没有设置%JAVA_HOME%变量,而是根据网上的一些教程,直接在CLASSPATH和PATH中直接写入绝对路径,导致cygwin无法正确的解析。

解决方案:

找到问题所在后,在windows环境变量中增加JAVA_HOME变量,并相应的把原来的绝对路径中的SDK所在的根目录路径换成%JAVA_HOME%,关闭cygwin,重新打开执行命令,OK,解决问题。

如果还是不行,大家还可以在环境变量中加入NUTCH_JAVA_HOME的变量,值跟JAVA_HOME的一样。

注意:JAVA_HOME的变量值后千万不能加分号。

b

转载于:https://www.cnblogs.com/streamhope/archive/2011/07/21/2112348.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值