第一步:下载jdk-7-linux-i586.tar.gz
- wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
第二步:解压安装
- sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm
- cd /usr/lib/jvm
- sudo mv jdk1.7.0/ java-7-sun
第三步:修改环境变量
- vim ~/.bashrc
- export JAVA_HOME=/usr/lib/jvm/java-7-sun
- export JRE_HOME=${JAVA_HOME}/jre
- export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
- export PATH=${JAVA_HOME}/bin:$PATH
- source ~/.bashrc
第四步:配置默认JDK版本
由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。执行代码:
- sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300
- sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300
- sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300
- sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 300
- sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 300
执行代码:
- sudo update-alternatives --config java
系统会列出各种JDK版本,如下所示:
- snowdream@snowdream:~$ sudo update-alternatives --config java
- 有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
- 选择 路径 优先级 状态
- ------------------------------------------------------------
- * 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
- 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
- 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
- 3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式
- 要维持当前值[*]请按回车键,或者键入选择的编号:3
- update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。
第五步:测试
- snowdream@snowdream:~$ java -version
- java version "1.7.0"
- Java(TM) SE Runtime Environment (build 1.7.0-b147)
- Java HotSpot(TM) Server VM (build 21.0-b17, mixed mode)
在其中可能会出现这些错误 ;解决方法
perl: warning: Setting locale failed
有时apt-get install ***软件名 或者dpkg-reconfigure ***软件名 会出现下面的
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
我的解决办法是:
vi /root/.bashrc
在最底部添加上一句
export LC_ALL=C
或者直接运行
#echo "export LC_ALL=C" >> /root/.bashrc
然后执行一下:
source /root/.bashrc
这样就搞定了 O(∩_∩)O
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
辛苦google了一个小时,终于找到了解决方案
首先要确认的是环境变量的设置是否正确
相信大家都是很细心的,这方面如果有错误也会很容易发现
然而还有一个隐蔽的地方也会产生上述的错误
就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式
如果发现rt.pack 和 tools.pack 那么多半问题就出在这里
解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar
可以使用bin里面的unpack200工具
如:unpack200 rt.pack rt.jar
解压后java -version应该就没有问题了~~
安装完JDK ,设定环境变量后出现这个错误:
[root@localhost lib]# javac
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
[root@localhost lib]# java
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
[root@localhost lib]# java
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
解决办法:分别把
/opt/jdk1.6.0_15/lib/ tools.pack 转为 tools.jar
/opt/jdk1.6.0_15/jre/lib/rt.pack 转为 rt.jar
[root@localhost lib]# pwd
/opt/jdk1.6.0_15/lib
[root@localhost lib]# unpack200 tools.pack tools.jar
[root@localhost lib]# ls
ct.sym htmlconverter.jar jconsole.jar orb.idl tools.jar tools.pack.bak
dt.jar ir.idl jexec sa-jdi.jar tools.pack visualvm
/opt/jdk1.6.0_15/lib
[root@localhost lib]# unpack200 tools.pack tools.jar
[root@localhost lib]# ls
ct.sym htmlconverter.jar jconsole.jar orb.idl tools.jar tools.pack.bak
dt.jar ir.idl jexec sa-jdi.jar tools.pack visualvm
[root@localhost lib]# pwd
/opt/jdk1.6.0_15/jre/lib
[root@localhost lib]# unpack200 rt.pack rt.jar
/opt/jdk1.6.0_15/jre/lib
[root@localhost lib]# unpack200 rt.pack rt.jar