当前位置:  开发笔记 > 编程语言 > 正文

如何在CentOS上安装jdk7?

如何解决《如何在CentOS上安装jdk7?》经验,为你挑选了1个好方法。

我正在尝试在我的CentOS 6.5机器上安装jdk7.实际上,我以为我已经在6个月前做过了,但是当我打字的时候,java -version我看到了javac 1.6.0_30.

我已经下载了jdk-7u25-linux-x64.tar.gz,验证了校验和,然后解压缩到/home/username/java/jdk7u25/jdk1.7.0_25.

然后我编辑了我的.bash_profile文件,其中包括:

...
export JAVA_PATH=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
...
export PATH=$PATH:$JRE_HOME/bin

当我输入source .bash_profile,然后java -version我仍看到相同的1.6版本,上面提到的.谁知道还有什么需要做?



1> Chase..:

PATH如果您必须安装Java的个人副本,则应该只编辑您的.如果你要走那条路,那么你需要确保bin你首选的Java版本的目录在你的开头PATH,如下:

export JAVA_PATH=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$JRE_HOME/bin:$PATH

但处理此问题的更好方法是安装Java并使用该alternatives命令.如果你可以使用OpenJDK,你可以尝试:

yum install java-1.7.0-openjdk
yum install java-1.7.0-openjdk-devel

安装OpenJDK后,它将运行alternatives命令以正确配置所有内容.如果您想使用Oracle JDK,那么您可以使用RPM或tar.gz,安装的RPM,/usr/java而tar.gz可能应该被解压缩到该目录或其他非用户特定目录/opt/java.我个人推荐RPM,所以安装会是这样的:

yum localinstall jdk-8u5-linux-x64.rpm
yum localinstall jdk-8u5-linux-x64-demos.rpm

安装之后来了alternatives命令然而大多数人和文档变得懒惰(看看另一个答案指向的CentOS维基页面,我的意思是懒惰).你真的应该使用alternatives命令来设置不仅javajavac,而且全部都使用Java和手册页这些命令的其它命令.你应该运行:

jdk=/usr/java/jdk1.8.0_05
jre=$jdk/jre

alternatives \
  --install /usr/bin/java java $jre/bin/java 180005 \
  --slave /usr/lib/jvm/jre jre $jre \
  --slave /usr/bin/keytool keytool $jre/bin/keytool \
  --slave /usr/bin/orbd orbd $jre/bin/orbd \
  --slave /usr/bin/pack200 pack200 $jre/bin/pack200 \
  --slave /usr/bin/rmid rmid $jre/bin/rmid \
  --slave /usr/bin/rmiregistry rmiregistry $jre/bin/rmiregistry \
  --slave /usr/bin/servertool servertool $jre/bin/servertool \
  --slave /usr/bin/tnameserv tnameserv $jre/bin/tnameserv \
  --slave /usr/bin/unpack200 unpack200 $jre/bin/unpack200 \
  --slave /usr/bin/javaws javaws $jre/bin/javaws \
  --slave /usr/bin/jjs jjs $jre/bin/jjs \
  --slave /usr/share/man/man1/java.1 java.1 \
  $jdk/man/man1/java.1 \
  --slave /usr/share/man/man1/keytool.1 keytool.1 \
  $jdk/man/man1/keytool.1 \
  --slave /usr/share/man/man1/orbd.1 orbd.1 \
  $jdk/man/man1/ordb.1 \
  --slave /usr/share/man/man1/pack200.1 pack200.1 \
  $jdk/man/man1/pack200.1 \
  --slave /usr/share/man/man1/rmid.1 rmid.1 \
  $jdk/man/man1/rmid.1 \
  --slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 \
  $jdk/man/man1/rmiregistry.1 \
  --slave /usr/share/man/man1/servertool.1 servertool.1 \
  $jdk/man/man1/servertool.1 \
  --slave /usr/share/man/man1/tnameserv.1 tnameserv.1 \
  $jdk/man/man1/tnameserv.1 \
  --slave /usr/share/man/man1/unpack200.1 unpack200.1 \
  $jdk/man/man1/unpack200.1 \
  --slave /usr/share/man/man1/javaws.1 javaws.1 \
  $jdk/man/man1/javaws.1 \
  --slave /usr/share/man/man1/jjs.1 jjs.1 \
  $jdk/man/man1/jjs.1

alternatives \
  --install /usr/lib/jvm/jre-1.8.0 \
  jre_1.8.0 $jre 180005 \

alternatives \
  --install /usr/bin/javac javac $jdk/bin/javac 180005 \
  --slave /usr/lib/jvm/java java_sdk $jdk \
  --slave /usr/bin/appletviewer appletviewer $jdk/bin/appletviewer \
  --slave /usr/bin/extcheck extcheck $jdk/bin/extcheck \
  --slave /usr/bin/idlj idlj $jdk/bin/idlj \
  --slave /usr/bin/jar jar $jdk/bin/jar \
  --slave /usr/bin/jarsigner jarsigner $jdk/bin/jarsigner \
  --slave /usr/bin/javadoc javadoc $jdk/bin/javadoc \
  --slave /usr/bin/javafxpackager javafxpackager $jdk/bin/javafxpackager \
  --slave /usr/bin/javah javah $jdk/bin/javah \
  --slave /usr/bin/javap javap $jdk/bin/javap \
  --slave /usr/bin/jcmd jcmd $jdk/bin/jcmd \
  --slave /usr/bin/jconsole jconsole $jdk/bin/jconsole \
  --slave /usr/bin/jdb jdb $jdk/bin/jdb \
  --slave /usr/bin/jdeps jdeps $jdk/bin/jdeps \
  --slave /usr/bin/jhat jhat $jdk/bin/jhat \
  --slave /usr/bin/jinfo jinfo $jdk/bin/jinfo \
  --slave /usr/bin/jmap jmap $jdk/bin/jmap \
  --slave /usr/bin/jmc jmc $jdk/bin/jmc \
  --slave /usr/bin/jps jps $jdk/bin/jps \
  --slave /usr/bin/jrunscript jrunscript $jdk/bin/jrunscript \
  --slave /usr/bin/jsadebugd jsadebugd $jdk/bin/jsadebugd \
  --slave /usr/bin/jstack jstack $jdk/bin/jstack \
  --slave /usr/bin/jstat jstat $jdk/bin/jstat \
  --slave /usr/bin/jstatd jstatd $jdk/bin/jstatd \
  --slave /usr/bin/jvisualvm jvisualvm $jdk/bin/jvisualvm \
  --slave /usr/bin/native2ascii native2ascii $jdk/bin/native2ascii \
  --slave /usr/bin/policytool policytool $jdk/bin/policytool \
  --slave /usr/bin/rmic rmic $jdk/bin/rmic \
  --slave /usr/bin/schemagen schemagen $jdk/bin/schemagen \
  --slave /usr/bin/serialver serialver $jdk/bin/serialver \
  --slave /usr/bin/wsgen wsgen $jdk/bin/wsgen \
  --slave /usr/bin/wsimport wsimport $jdk/bin/wsimport \
  --slave /usr/bin/xjc xjc $jdk/bin/xjc \
  --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 \
  $jdk/man/man1/appletviewer.1 \
  --slave /usr/share/man/man1/extcheck.1 extcheck.1 \
  $jdk/man/man1/extcheck.1 \
  --slave /usr/share/man/man1/idlj.1 idlj.1 \
  $jdk/man/man1/idlj.1 \
  --slave /usr/share/man/man1/jar.1 jar.1 \
  $jdk/man/man1/jar.1 \
  --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 \
  $jdk/man/man1/jarsigner.1 \
  --slave /usr/share/man/man1/javac.1 javac.1 \
  $jdk/man/man1/javac.1 \
  --slave /usr/share/man/man1/javadoc.1 javadoc.1 \
  $jdk/man/man1/javadoc.1 \
  --slave /usr/share/man/man1/javafxpackager.1 javafxpackager.1 \
  $jdk/man/man1/javafxpackager.1 \
  --slave /usr/share/man/man1/javah.1 javah.1 \
  $jdk/man/man1/javah.1 \
  --slave /usr/share/man/man1/javap.1 javap.1 \
  $jdk/man/man1/javap.1 \
  --slave /usr/share/man/man1/jcmd.1 jcmd.1 \
  $jdk/man/man1/jcmd.1 \
  --slave /usr/share/man/man1/jconsole.1 jconsole.1 \
  $jdk/man/man1/jconsole.1 \
  --slave /usr/share/man/man1/jdb.1 jdb.1 \
  $jdk/man/man1/jdb.1 \
  --slave /usr/share/man/man1/jdeps.1 jdeps.1 \
  $jdk/man/man1/jdeps.1 \
  --slave /usr/share/man/man1/jhat.1 jhat.1 \
  $jdk/man/man1/jhat.1 \
  --slave /usr/share/man/man1/jinfo.1 jinfo.1 \
  $jdk/man/man1/jinfo.1 \
  --slave /usr/share/man/man1/jmap.1 jmap.1 \
  $jdk/man/man1/jmap.1 \
  --slave /usr/share/man/man1/jmc.1 jmc.1 \
  $jdk/man/man1/jmc.1 \
  --slave /usr/share/man/man1/jps.1 jps.1 \
  $jdk/man/man1/jps.1 \
  --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 \
  $jdk/man/man1/jrunscript.1 \
  --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 \
  $jdk/man/man1/jsadebugd.1 \
  --slave /usr/share/man/man1/jstack.1 jstack.1 \
  $jdk/man/man1/jstack.1 \
  --slave /usr/share/man/man1/jstat.1 jstat.1 \
  $jdk/man/man1/jstat.1 \
  --slave /usr/share/man/man1/jstatd.1 jstatd.1 \
  $jdk/man/man1/jstatd.1 \
  --slave /usr/share/man/man1/jvisualvm.1 jvisualvm.1 \
  $jdk/man/man1/jvisualvm.1 \
  --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 \
  $jdk/man/man1/native2ascii.1 \
  --slave /usr/share/man/man1/policytool.1 policytool.1 \
  $jdk/man/man1/policytool.1 \
  --slave /usr/share/man/man1/rmic.1 rmic.1 \
  $jdk/man/man1/rmic.1 \
  --slave /usr/share/man/man1/schemagen.1 schemagen.1 \
  $jdk/man/man1/schemagen.1 \
  --slave /usr/share/man/man1/serialver.1 serialver.1 \
  $jdk/man/man1/serialver.1 \
  --slave /usr/share/man/man1/wsgen.1 wsgen.1 \
  $jdk/man/man1/wsgen.1 \
  --slave /usr/share/man/man1/wsimport.1 wsimport.1 \
  $jdk/man/man1/wsimport.1 \
  --slave /usr/share/man/man1/xjc.1 xjc.1 \
  $jdk/man/man1/xjc.1

alternatives \
  --install /usr/lib/jvm/java-1.8.0 \
  java_sdk_1.8.0 $jdk 180005 \

这是我的JDK 8的例子,但是如果换掉jdk=你的路径的线路将会接近,但是有一些新的命令带有8和一个从8下降,所以如果你真的需要一些轻微的调整想安装7.另请注意1800005数字.使用该alternatives命令,较大的数字是默认选择,OpenJDK 7u55使用170055.如果您选择的数字低于您安装的任何OpenJDK使用的数字,您将需要运行alternatives --config javaalternatives --config javac.

运行alternatives命令后,您要通过运行更新man page page database makewhatis.

然后你可能想为你的Firefox安装Java插件:

ln -s /usr/java/jdk1.8.0_05/jre/lib/amd64/libnpjp2.so /usr/lib64/mozilla/plugins/

然后,您需要将Java控制面板添加到System-> Preferences菜单,并设置要双击的JAR:

/bin/cp -fr /usr/java/jdk1.8.0_05/jre/lib/desktop/* /usr/share/
/bin/cp -fr /usr/java/jdk1.8.0_05/jre/lib/desktop/icons/hicolor/* /usr/share/icons/System
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/System
/usr/bin/update-desktop-database

如果不清楚的话,你就是这样做的root.如果你没有,root那么只需使用tar.gz版本并修复你的PATH.我在http://blog.osdev.org/java/2014/04/22/jdk-alternatives.html上写了更多细节.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有