背景
使用了 openSUSE 13.1, 13.2, 42.1 三个版本,每次都要折腾一遍 JAVA 环境。
这次把过程记录下来,以免下次再耗费时间。
发行版信息:1
2
3
4
5
6> lsb_release -a
LSB Version: n/a
Distributor ID: SUSE LINUX
Description: openSUSE Leap 42.1 (x86_64)
Release: 42.1
Codename: n/a
OpenJDK
由于 Oracle 的授权许可,openSUSE 官方软件源不再提供 Oracle Java.
所以自从 openSUSE 12.1 开始,系统预装的是 OpenJDK.
而 openSUSE 42.1 中 openJDK 1.7 和 1.8 都有,其中 1.8 为默认版本。
1 | > java -version |
如果基本不开发 JAVA 程序或者只需要编译运行几个小程序的话,凑合着用用也行。
然而 javac
找不到是什么情况,不急,安装两个包就好了。
在 software management 中安装 java-1_7_0-openjdk-devel 以及 java-1_8_0-openjdk-devel 两个包即可。
1 | > javac -version |
Oracle JDK
当然,有的时候还不得不需要 Oracle JDK 来开发一些项目,步骤如下:
下载安装 Oracle JDK
点击 Oracle Java 下载页面,根据自己操作系统的位数选择对应的RPM包。我下载的是 jdk-8u73-linux-x64.rpm
下载完成后安装该RPM软件包:sudo rpm -ivh jdk-8u73-linux-x64.rpm
安装目录这里是:/usr/java/jdk1.8.0_73
如果你安装的jdk版本和我的不同(一般是小版本号不同),请酌情替换上述以及之后的命令中的相应参数。
修改环境变量 JAVA_HOME
1 | > vim ~/.bashrc // 添加下面一行 |
安装 alternatives
安装了java alternative 和 javac alternative 后,可以很方便的在不同 Java 版本之间切换。
1 | > sudo /usr/sbin/update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.8.0_73/bin/java" 40 |
配置 alternatives
1 | > sudo /usr/sbin/update-alternatives --config java // 选择相应版本 |
验证
1 | > java -version |
浏览器 Java plugin
不推荐将浏览器的 Java 插件换成 Oracle 的,因为在 Java8u20 以及更新版本中,只允许有证书的Java程序运行。
这就意味着一些浏览器上的 Java 程序无法运行。
当然如果坚持将浏览器的 Java 插件换成 Oracle 的,步骤如下:
1 | > sudo /usr/sbin/update-alternatives --install "/usr/lib64/browser-plugins/javaplugin.so" "javaplugin" "/usr/java/jdk1.8.0_73/jre/lib/amd64/libnpjp2.so" 40 |
后记
虽然能用了,但还是觉得没有弄透彻,openSUSE 和其他的发行版还真不一样。
不管了,以后遇到问题再补充。搭好环境明天了解 GAE JAVA 的部署。