今天倒腾Hadoop,要修改源码,由于之前搞研究是基于hadoop1.0.3来做的,所以这次也用的这个版本,但是我电脑上Java的版本是1.8以上的,结果用ant编译hadoop源码报错,错误大概是这样:

compile-mapred-classes:
Trying to override old definition of task jsp-compile
[javac] /Users/lili/快盘/hadoop-1.0.3/build.xml:540: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 14 source files to /Users/lili/快盘/hadoop-1.0.3/build/classes
[javac] 警告: [options] 未与 -source 1.6 一起设置引导类路径
[javac] /Users/lili/快盘/hadoop-1.0.3/src/mapred/org/apache/hadoop/mapreduce/lib/partition/InputSampler.java:319: 错误: 不兼容的类型: Object[]无法转换为K[]
[javac] K[] samples = sampler.getSample(inf, job);
[javac] ^
[javac] 其中, K,V是类型变量:
[javac] K扩展已在方法 <K,V>writePartitionFile(Job,Sampler<K,V>)中声明的Object
[javac] V扩展已在方法 <K,V>writePartitionFile(Job,Sampler<K,V>)中声明的Object
[javac] 1 个错误
[javac] 1 个警告

一看估计是Java版本问题导致的,然后就想降低Java版本去编译一次,谁知下载下来个JDK1.7安装确报错,错误类似于这样:

果然一搜索好多人遇到这个问题,在一个博客里找到一个比较好的解决方案,博客地址:http://blog.csdn.net/daiyelang/article/details/42779645,将解决思路copy过来了,如果不妥,请通知删除。解决思路如下:

1.下载 好jdk 1.7(1.8) 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.打开下载 好的jdk 安装包的DMG .这时候你会在finder在左侧能看到已经被挂上了。

3.运行:
pkgutil --expand /Volumes/JDK\ 8\ Update\ 05/JDK\ 8\JDK\ 8.pkg /Users/wxxu/Documents/jdk8.unpkg //此处可能每个人的8.pkg文件目录不一样,大家只要进到自己的8.pkg就可以了 解释: 通过pkgutil 命令把刚刚下载好的dmg解压开来,存放到/Users/wxxu/Documents/jdk8.unpkg这个目录中去 4. 走入到/Users/wxxu/Documents/jdk8.unpkg目录中去。你可以通过finder也可以通过终端命令进入。 5. 找到目录下的 Distribution 文件,用vim 或者是编辑器打开。
6. 找到里面的 pm_install_check 这个函数。 function pm_install_check() {
if(!(checkForMacOSX('10.7.3') == true)) {
my.result.title = 'OS X Lion required';
my.result.message = 'This Installer is supported only on OS X 10.7.3 or Later.';
my.result.type = 'Fatal';
return false;
}
return true;
}
你会发现,他在这里去判断 你的系统是不是10.7.3以后的,因为现在Yosemide还不是正式版本,所以在这里会检查不过。 修改成: function pm_install_check() {
return true;
}
保存。
7.然后我们重新打包。命令如下:
pkgutil –flatten /Users/wxxu/Documents/jdk8.unpkg/ /Users/wxxu/Documents/jdk8.pkg 8. 打开 重新打包的jdk8.pkg文件。就会发现可以正常安装了。
安装成功后,再命令行中输入java -version显示如下
java version "1.8.0"Java(TM) SE Runtime Environment (build 1.8.0-b132)Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
然后就心情享受吧!!!

Mac中下载JDK手动更新出现“只支持10.7.3以上的系统版本”问题解决方案的更多相关文章

  1. linux中下载JDK 1.7

    今天想linux下安装java,然后就使用wget来下载jdk1.7,结果老是报错,大概意思是cookie有问题.如下图: 然后网上看了一下,下面的地址可以下载: wget --no-cookies ...

  2. mac中配置jdk环境

  3. js将HTML中table导出到EXCEL word (只支持IE) 另用php 配合AJAX可以支持所有浏览器

    转载请注明来源:https://www.cnblogs.com/hookjc/ <HTML>     <HEAD>       <title>WEB页面导出为EXC ...

  4. 苹果MAC中安装并搭建Android开发环境的详细步骤

    Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...

  5. mac中使用 sourcetree 的快速配置和git服务器登录

    问题: 1.mac中下载sourcetree配置仓库地址,一直在提示输入密码,无法登录成功,更无法获取源码. 2.找不到配置仓库时的账号密码,只看到地址. 场景: git服务器:自己的GIT服务器,非 ...

  6. FastDFS是纯C语言实现,只支持Linux,适合以中小文件为载体的在线服务,还可以冗余备份和负载均衡

    一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...

  7. Mac OS X 中安装JDK 7

    通过Mac系统的更新安装Java的版本均为JDK 6的版本,如果想要在Mac上安装JDK 7,就需要到Oracle的网站上去下载相应的安装包. 下面为详细教程: 最新版本为JDK8,目前需求JDK7够 ...

  8. mac中安装Jenkins+jdk

    Jenkins是基于Java开发的一种持续集成工具,用于持续的软件版本发布/测试项目,并监控外部调用执行的工作.简单来说就是自动化测试+部署. 首先我们需要安装jdk,注意,目前jenkins只支持j ...

  9. oracle官网下载jdk跑不动太慢了,给出快速下载方式mac

    oracle官网下载jdk8跑不动太慢了,给出快速下载方式 之前在oracle官网下载jdk1.8实在速度太慢,只有20K左右的下载速度,有时候甚至不动,最关键的慢也就算了,cookie有效期有限,有 ...

随机推荐

  1. Python多线程学习笔记

    Python中与多线程相关的模块有 thread, threading 和 Queue等,thread 和threading模块允许程序员创建和管理线程.thread模块提供了基本的线程和锁的支持,而 ...

  2. hdu5548

    2015ACM/ICPC亚洲区上海站LCM WALK 题意:定义了一种走法,就是从当前的点为sx,sy,可以走到ex,ey;并且ex = sx + z,或者 ey = sy + z, 其中z为lcm( ...

  3. dtv_driver.ko

            替换dtv_driver.ko .步骤:         shell@android:/ # get_rootfs.sh                                 ...

  4. Android开发(一):环境搭建

    引言 本系列将记录我在步入Android开发过程中的一些流水账及经验,如有疏漏,还望不吝赐教. 目录 1.JDK安装及配置 2.Eclipse.Android SDK ADT安装及配置 正文 1.JD ...

  5. Mongodb使用总结

    学习Mongodb已经有半年多了,为啥学习它,工作需要啊.好了,废话不说,总结在实际项目应用中的几点问题. 学习总结 首先,mongodb基本上既照顾到了sql某些语法,又有nosql的许多优点.入门 ...

  6. html&nbsp;&nbsp;特殊字符(转)

    有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的.那如果我们希望在网页中显示一个小于号,该怎么办呢? 这就要说到HTML字符 ...

  7. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  8. 关于shell环境变量的思考

    shell中执行sh文件时需要开子进程,因此export的环境变量在子进程中,若想要sh中定义的脚本生效,使用source命令,并且可以被子进程继承.而子进程export的内容父进程获取不到

  9. input checkbox问题和li里面包含checkbox

    <input type="checkbox" id="checkbox1"/> $("input#checkbox1").cli ...

  10. php Magic methods __call

    <?php class Car{ protected $_color; protected $_model; public function __call($name,$arguments){ ...