自从微软不支持xp之后,jdk也跟着倒了大霉了,随着jdk8的发布,居然不支持在xp 32位上安装了,从网上搜罗了几篇文章,结合自己的经历,终于把jdk8在xp 32上给装好了,这里稍作总结。
1 下载jdk-8-windows-i586.exe 双击安装报错:
2 参考文章
http://stackoverflow.com/questions/20965564/installing-jdk8-on-windows-xp-advapi32-dll-error
跟
http://www.rritw.com/a/JAVAbiancheng/JAVAzonghe/20140319/438428.html
3 安装方法大致如下
(1)解压exe到一个文件夹看到只有一个文件tools.zip
(2)继续解压tools.zip到C:\Program Files\Java\jdk8目录,这里我就当作JDK_HOME了。
(3)这里跟介绍的两篇文章稍有不同,在执行命令
FOR /R %%f IN (*.pack) DO "%JAVA_HOME%\bin\unpack200.exe" -r -v "%%f" "%%~pf%%~nf.jar" 的时候有问题。所以另外想办法,用另外一个命令 %JAVA_HOME%\bin\unpack200 -r packname.pack packname.jar 一个一个来将pack转换为jar
(4) 最主要的是
C:\Program Files\Java\jdk8\lib>"C:\Program Files\Java\jdk8\bin\unpack200.exe" -r
tools.pack tools.jar
与
C:\Program Files\Java\jdk8\jre\lib>"%JAVA_HOME%\bin\unpack200.exe" -r rt.pack rt.jar
注意这两个文件分别在不同的地方,第二篇文章说这两个文件都在jre/lib下这是不对的。顺便将其他pack文件也转换为jar文件,以免出现别的意外。
4 校验安装的正确性
(1) 测试jdk版本信息
C:\Program Files\Java\jdk8\bin>java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
(2)写段代码测试下吧
直接从第二篇文章里面copy过来。
import java.util.Arrays;
import java.util.List;
public class Lambda {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
list.forEach(n -> System.out.println(n));
}
}
拷贝到%JDK_HOME%/bin下。
C:\Program Files\Java\jdk8\bin>javac Lambda.java
C:\Program Files\Java\jdk8\bin>java Lambda
1
2
3
4
5
6
7
C:\Program Files\Java\jdk8\bin>
Ok,到此为止,jdk8在xp 32下安装成功。
5 装完之后,打开eclipse,居然发现看不到源代码。。。
解决办法: 从官网下载一个linux版本的压缩包jdk-8-linux-i586.tar.gz。里面是含有源码的。或者直接从这里下:
http://yunpan.cn/QNgs27uHxpKwL,我已经放到了云盘上。然后拷贝到你的安装目录下(例如C:\Program Files\Java\jdk8),这样我们就可以直接查看源码了。