在java学习中需要比较不同版本的jdk下编译运行的结果,手动修改javaHome太麻烦,有没有比较简单的方法,可以快速切换jdk版本?
在ubuntu上,初始jdk版本为1.6,使用命令行来安装jdk1.7,jdk1.8,
如果不好找安装包的名字,用apt-cache search jdk来搜索一下有什么样的安装包
如果没有找到要下载的内容,更新一下源
使用ppa/源方式安装
添加ppa
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
在执行上边的apt-get,一般就会找到要安装的jdk了,将oracle-javaX-installer中的X替换为想要的jdk版本,执行后会提示是否安装,输入y继续。
这样安装完jdk1.6 jdk1.7 ,jdk1.8之后,会在本机的usr/lib/jvm/(/java可能还有一级java目录)目录下会找到自动安装的jdk
这时,已经可以直接使用了,cd到某个版本jdk下的bin目录,就可以看到java,javac。用命令
来编译源码,用java命令运行一个编译好的class文件,不同目录下的java命令代表不同版本虚拟机的入口
可以在java代码中用
system.out.println(System.getPropertity("java.vm.version"));
来打印虚拟机的版本号;
不过仍然可以使用ubuntu自带的切换jdk版本的命令来进行不同版本的管理:
执行下面的 添加可供切换的jdk
$ sudo update-alternatives –install /usr/bin/javah javah /opt/jdk/bin/javah 255
$ sudo update-alternatives –install /usr/bin/javac javac /opt/jdk/bin/javac 255
//编译器
$ sudo update-alternatives –install /usr/bin/java java /opt/jdk/bin/java 255
//运行时
$ sudo update-alternatives –install /usr/bin/jar jar /opt/jdk/bin/jar 255
执行以下命令来切换你的jdk
$ sudo update-alternatives –config java
$ sudo update-alternatives –config javac
$ sudo update-alternatives –config javah
$ sudo update-alternatives –config jar
如果使用IDE来进行java代码编写,也可以在dependency中配置。
以NetBeans为例:
选择default conf...那个下拉框,选择customize,library,在javaPlatform下拉框选择需要的jdk版本。