如何在 Linux 中修改linux默认jdk版本默认的 Java 版本

中国领先的IT技术网站
51CTO旗下网站
如何在Linux上自动设置JAVA_HOME环境变量
我需要在我的 Linux 机器上编译 Java 程序。为此我已经安装了 JDK (Java Development Kit),而现在我正试图设置 JAVA_HOME 环境变量使其指向安装好的 JDK 。关于在 Linux 上设置 JAVA_HOME 环境变量,最受推崇的办法是什么?
作者:作者:Dan Nanni 译者:Ricky-Gong来源:Linux中国| 15:01
问题:我需要在我的 Linux 机器上编译 Java 程序。为此我已经安装了 JDK (Java Development Kit),而现在我正试图设置 JAVA_HOME 环境变量使其指向安装好的 JDK 。关于在 Linux 上设置 JAVA_HOME 环境变量,最受推崇的办法是什么?
许多 Java 程序或基于 Java 的集成开发环境 (IDE)都需要设置好 JAVA_HOME 环境变量。该变量应指向 Java 开发工具包 (JDK)或Java 运行时环境 (JRE)的安装目录。JDK 不仅包含了 JRE 提供的一切,还带有用于编译 Java 程序的额外的二进制代码和库文件(例如编译器,调试器及 JavaDoc 文档生成器)。JDK 是用来构建 Java 程序的,如果只是运行已经构建好的 Java 程序,单独一份 JRE 就足够了。
当您正试图设置 JAVA_HOME 环境变量时,麻烦的事情在于 JAVA_HOME 变量需要根据以下几点而改变:(1) 您是否安装了 JDK 或 JRE;(2) 您安装了哪个版本;(3) 您安装的是 Oracle JDK 还是 Open JDK。
因此每当您的开发环境或运行时环境发生改变(例如为 JDK 更新版本)时,您需要根据实际情况调整 JAVA_HOME 变量,而这种做法是繁重且缺乏效率的。
以下 export 命令能为您自动设置 JAVA_HOME 环境变量,而无须顾及上述的因素。
若您安装的是 JRE:
export&JAVA_HOME=$(dirname&$(dirname&$(readlink&-f&$(which&java))))&
若您安装的是 JDK:
export&JAVA_HOME=$(dirname&$(dirname&$(readlink&-f&$(which&javac))))&
根据您的情况,将上述命令中的一条写入 ~/.bashrc(或 /etc/profile)文件中,它就会永久地设置好 JAVA_HOME 变量。
注意,由于 java 或 javac 可以建立起多个层次的符号链接,为此&readlink -f&命令是用来获取它们真正的执行路径的。
举个例子,假如您安装的是 Oracle JRE 7,那么上述的第一条 export 命令将自动设置 JAVA_HOME 为:
/usr/lib/jvm/java-7-oracle/jre&
若您安装的是 Open JDK 第8版,那么第二条 export 命令将设置 JAVA_HOME 为:
/usr/lib/jvm/java-8-openjdk-amd64&
简而言之,这些 export 命令会在您重装/升级您的JDK/JRE,或更换默认 Java 版本时自动更新 JAVA_HOME 变量。您不再需要手动调整它。
via: 【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条头条热点头条头条
24H热文一周话题本月最赞
讲师:30264人学习过
讲师:125189人学习过
讲师:170753人学习过
精选博文论坛热帖下载排行
本书使用通俗易懂的语言,通过大量的实例,从实际应用的角度出发,全面系统地介绍了网络服务操作系统平台、电子邮件系统、Web站点和FTP站点...
订阅51CTO邮刊查看: 122863|回复: 13
linux(ubuntu)安装Java jdk环境变量设置及小程序测试
主题帖子积分
本帖最后由 pig2 于
18:30 编辑
1.该如何查看java的版本信息
看了很多的文档,按照文档安装完毕,遇到下面情况。
The program 'java' can be found in the following packages:
* gcj-4.4-jre-headless
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
这上面是什么是什么意思?
其实这个是常见的错误,意思是我们有下面的包,但是还没有安装。
明明已经安装了,为什么会出现这个情况。环境变来那个错误。安装是否成功,我们还可以通过另外的方式,./java -version具体看下图可知
如果看不到版本信息,你的包就有问题,需要另外下载可用jdk包。
首先在usr目录里面创建java目录
mkdir java
然后加压安装包
tar zxvf 安装包目录+安装包
2.环境变量设置
如果未配置或则环境变量设置错误,可能会遇到下面错误:
The program 'java' can be found in the following packages:
* gcj-4.4-jre-headless
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
这里提供一个简单的方法:
通过下面命令
export PATH=$PATH:/usr/java/jdk1.7.0_51/bin
通过cat命令,可以查看
现在在执行 java -version就ok了
CLASSTH配置
上面只是配置了PATH,还需在配置CLASSTH
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
执行配置完毕
java.sh配置
因为重启之后,很有会被还原,下面还需要配置java.sh
这里可以通过
cd /etc/profile.d
vi java.sh
把下面两行放到java.sh
export PATH=$PATH:/usr/java/jdk1.7.0_51/bin
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
保存。这样就配置完毕了。
--------------------------------------------------------------------------------------------------------------------------------------------------------
下面运行一个简单的java小程序
通过命令 vi hello.java
会看到文本,把下面放到hello.java
public class hello
public static void main(String args[])
System.out.println(&hello java&);
javac hello.java
这里需要注意的是大小写,注意文件名和类名保持一致
如还不明白,可看下面视频
本帖被以下淘专辑推荐:
& |主题: 48, 订阅: 14
欢迎加入about云群 、 ,云计算爱好者群,关注
主题帖子积分
中级会员, 积分 315, 距离下一级还需 685 积分
中级会员, 积分 315, 距离下一级还需 685 积分
我在linux里安装jdk,就是解压,配置/etc/profile就没了,java.sh是?
主题帖子积分
我在linux里安装jdk,就是解压,配置/etc/profile就没了,java.sh是?
放到下面目录,系统启动会自动识别
cd /etc/profile.d
欢迎加入about云群 、 ,云计算爱好者群,关注
主题帖子积分
注册会员, 积分 134, 距离下一级还需 66 积分
注册会员, 积分 134, 距离下一级还需 66 积分
好详细,辛苦了~
主题帖子积分
高级会员, 积分 1057, 距离下一级还需 3943 积分
高级会员, 积分 1057, 距离下一级还需 3943 积分
非常好,我上次安装也遇到类似的问题,后来找了好文档都没有找到,看来这次按楼主的方法再试试看。
主题帖子积分
中级会员, 积分 717, 距离下一级还需 283 积分
中级会员, 积分 717, 距离下一级还需 283 积分
又学了一个知识点,谢谢!
主题帖子积分
高级会员, 积分 1154, 距离下一级还需 3846 积分
高级会员, 积分 1154, 距离下一级还需 3846 积分
总结的不错,学习了
主题帖子积分
注册会员, 积分 71, 距离下一级还需 129 积分
注册会员, 积分 71, 距离下一级还需 129 积分
报下面错误是怎么回事呢?
/input 是我建的目录,/output没有建
hadoop@ubuntu12-1:~$ hdfs jar /home/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output
Error: Could not find or load main class jar
主题帖子积分
注册会员, 积分 71, 距离下一级还需 129 积分
注册会员, 积分 71, 距离下一级还需 129 积分
好吧,我搞错命令了。
正确的应该是:
hadoop jar /home/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output
但是又遇到新的问题了。
15/11/01 13:38:36 INFO input.FileInputFormat: Total input paths to process : 1
15/11/01 13:38:37 INFO mapreduce.JobSubmitter: number of splits:1
15/11/01 13:38:41 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_2_0001
15/11/01 13:38:45 INFO impl.YarnClientImpl: Submitted application application_2_0001
15/11/01 13:38:45 INFO mapreduce.Job: The url to track the job: http://ubuntu12-1:8088/proxy/application_2_0001/
15/11/01 13:38:45 INFO mapreduce.Job: Running job: job_2_0001
主题帖子积分
注册会员, 积分 71, 距离下一级还需 129 积分
注册会员, 积分 71, 距离下一级还需 129 积分
修改mapred-site.xml
&configuration&
& & &property&
& && &&&&name&mapreduce.framework.name&/name&
& && &&&&value&yarn&/value&
& & &/property&
& & &property&
& && &&&&name&mapreduce.jobhistory.address&/name&
& && &&&&value&192.168.1.27:10020&/value&
& & &/property&
& & &property&
& && &&&&name&mapreduce.jobhistory.webapp.address&/name&
& && &&&&value&192.168.1.27:19888&/value&
& & &/property&
& & &property&
& && &&&&name&mapreduce.job.tracker&/name&
& && &&&&value&192.168.1.27:8001&/value&
& && &&&&final&true&/final&
& & &/property&
&/configuration&
经常参与各类话题的讨论,发帖内容较有主见
经常帮助其他会员答疑
活跃且尽责职守的版主
为论坛做出突出贡献的会员
积极上进,爱好学习
站长推荐 /4
云计算hadoop视频大全(新增 yarn、flume|storm、hadoop一套视频
等待验证会员请验证邮箱
新手获取积分方法
技术类问答,解决学习openstack,hadoop生态系统中遇到的问题
Powered by博客分类:
今天把Windows上的消息收发平台部署到Linux上,始终不正确,执行java -version一直是jdk1.4.
最后解决方法如下:
1:修改/etc/profile文件
[root@localhost server]# vi /etc/profile
在文件最后增加JAVA_HOME、PATH配置
JAVA_HOME=/weblogic/jdk160_18
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
2:执行/etc/profile文件后,再查看版本,已经是上面配置的JDK6了,我直接使用的Weblogic的jdk。
从windows下拷贝去的JDK,要注意是否是能在Linux下用的,我就是把Windows下安装的JDK拷去,结果悲催了半天。。
[root@localhost server]# . /etc/profile
[root@localhost server]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
4:为要执行的java类,配置CLASSPATH,我这里有一堆log4j等外部的jar包:
[root@localhost server]# export CLASSPATH=.:$CLASSPATH:./ipayrelay-server.jar:./lib/log4j-1.2.16.jar:./lib/jxl.jar:./lib/commons-beanutils.jar:./lib/commons-collections.jar:./lib/commons-digester.jar:./lib/commons-logging.jar:./lib/commons-pool.jar:./lib/lucene-core-3.6.1.jar:./lib/mail.jar:./lib/metouia.jar:./lib/QSAdminGUI.jar:./lib/QuickServer.jar:./lib/quickserver_config.dtd:./lib/quickserver_config.xsd:./lib/QuickServerClient.jar:./lib/ipayrelay-client.jar:./lib/commons-codec-1.7.jar:./lib/commons-httpclient-3.1.jar
5:最后执行打好的jar包:
[root@localhost server]#java -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server
6:将上述内容制成脚本执行,我的脚本ipayrelay.sh
source /etc/profile
export CLASSPATH=.:$CLASSPATH:./ipayrelay-server.jar:./lib/log4j-1.2.16.jar:./lib/jxl.jar:./lib/commons-beanutils.jar:./lib/commons-collections.jar:./lib/commons-digester.jar:./lib/commons-logging.jar:./lib/commons-pool.jar:./lib/lucene-core-3.6.1.jar:./lib/mail.jar:./lib/metouia.jar:./lib/QSAdminGUI.jar:./lib/QuickServer.jar:./lib/quickserver_config.dtd:./lib/quickserver_config.xsd:./lib/QuickServerClient.jar:./lib/ipayrelay-client.jar:./lib/commons-codec-1.7.jar:./lib/commons-httpclient-3.1.jar
java -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server
#!/bin/sh是执行命令的脚本固定的开头, source /etc/profile是将该文件的内容解释执行一遍,让JAVA_HOME生效。
7:脚本可能有字符集问题,需要转码,转码后即可解决/bin/sh^M: bad interpreter这种报错:
[root@localhost server]# dos2unix ipayrelay.sh
8:最后执行脚本,前给脚本授权,我是将当前目录下的文件及其子文件全部授权了,为了方便调用
[root@localhost server]#chmod -R 777 .
9:最后执行脚本:
[root@localhost server]# ./ipayrelay.sh
10:停止脚本,9090是我的应用绑定的端口号,根据端口号查到PID后,执行kill杀进程
[root@localhost bin]# netstat -lnp | grep 9090
[root@localhost bin]# kill -9 6406
上面的脚本也可以通过一句话执行:kill -9 $(netstat -tlnp|grep 9090|awk '{print $7}'|awk -F '/' '{print $1}')
11:后台启动脚本,即使退出ssh也可以运行服务
[root@localhost server]#nohup ./ipayrelay.sh &
silly_sinba
浏览: 70440 次
来自: 成都
weijiewell 写道kanzhun网缔造者之一,静静着看 ...
kanzhun网缔造者之一,静静着看着你捣乱。
[color=orange][/color]:!:
:c4564ry:456
运行效果图呢?
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'Posts - 291,
Articles - 1,
Comments - 3056
大人不华,君子务实。
23:23 by 虫师, ... 阅读,
配置JDK环境
登录oracle的网站去下载JDK7
  好吧!在下载之前我们要先选中&Accept License Agreement& 然后,才允许我们下载。
  等等有好几个linux版本的 JDK,那么应该选择那个呢?我们先来看看他们有什么不同。
  x86对应的是32位操作系统下的应用程序,x64对应的是64位操作系统下的应用程序,那我们在下载之前要先确定我的操作系统是32位的还是64位的。
ctrl+alt+t 调出ubuntu的终端。输入一下命令:
fnngj@fnngj-H24X:~$ getconf LONG_BIT //查看操作系统位数
fnngj@fnngj-H24X:~$ lsb_release -a //顺便看看操作系统信息
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
每种位数人操作系统又分了两种类型的安装包.
  rmp原本是RedHat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。&&& RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
  ar.gz就是用tar和gzip压缩后的文件扩展名。 用winzip或winrar就可以打开
我这里下载的是jdk-7u11-linux-i586.tar.gz这个版本
我在/usr/java下安装jdk
创建目录:
root@fnngj-H24X:/home/fnngj/下载# pwd
//下载文件的默认路径
/home/fnngj/下载
root@fnngj-H24X:/home/fnngj/下载# ls
//查看下载的文件
jdk-7u11-linux-i586.tar.gz
root@fnngj-H24X:/home/fnngj/下载# sudo mkdir /usr/java
//创建目录
root@fnngj-H24X:/home/fnngj/下载# sudo tar zxvf jdk-7u11-linux-i586.tar.gz -C /usr/java //将下载的文件解压到/usr/java目录下
root@fnngj-H24X:/home/fnngj/下载# cd /usr/java/
//切换到创建的目录下
root@fnngj-H24X:/usr/java# ls
jdk1.7.0_11
改名(非必须步骤)
为了便于书写,我们需要对JDK的解压目录进行改名。
root@fnngj-H24X:/usr/java# sudo mv jdk1.7.0_11 &java-7-sun
root@fnngj-H24X:/usr/java# ls
C:\nppdf32Log\debuglog.txt
java-7-sun
修改配置文件
打开配置文件命令
root@fnngj-H24X:& sudo
gedit /etc/environment
配置内容如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/usr/java/java-7-sun
(标红的部分为我们要添加的内容,注意路径,安装版本名称不要写错)
保存后关闭配置文件
要使配置文件生效,需要输入一下:
root@fnngj-H24X:/usr/java#& source /etc/environment
在终端使用echo命令检查环境变量的设置情况
root@fnngj-H24X:/usr/java# &echo $JAVA_HOME
/usr/java/java-7-sun
root@fnngj-H24X:/usr/java# echo $CLASSPATH
.:/usr/java/java-7-sun/lib:/usr/java/java-7-sun/jre/lib
root@fnngj-H24X:/usr/java#& echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/java-7-sun/bin
查看安装的java版本:
root@fnngj-H24X:/usr/java#& java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)
使其对所有用户有效
重新打开一个终端,查看java版本
fnngj@fnngj-H24X:~$ java -version
程序 'java' 已包含在下列软件包中:
* default-jre
* gcj-4.6-jre-headless
* gcj-4.7-jre-headless
* openjdk-7-jre-headless
* openjdk-6-jre-headless
请尝试:sudo apt-get install &选定的软件包&
啊!怎么找不到了呢? 因为刚才是用root用户配置的,且关闭终端,配置的作用就消失了。那怎么办?
需要修改profile 文件
root@fnngj-h24x/usr/java#& sudo gedit /etc/profile
打开profile文件,添加如下内容
#set java environment
JAVA_HOME=/usr/java/java-7-sun
export JRE_HOME=/usr/java/java-7-sun/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
修改完成后保存
这个需要重启电脑才能生效。
安装eclipse
要玩java ,少不了eclipse这个利器。下面的工作就很简单了下载安装编辑器。
选择你需要的版本下载,本人下载的版本为:
eclipse-jee-juno-SR1-linux-gtk.tar.gz
在终端切换到你的系在目录:
fnngj@fnngj-H24X:~$ cd 下载
fnngj@fnngj-H24X:~/下载
将下载的IDE解压到/usr/java/ 目录下
fnngj@fnngj-H24X:~/下载$ sudo tar xvfz eclipse-jee-juno-SR1-linux-gtk.tar.gz -C /usr/java/
& & & & & & & & & & & & //执行这个动作可能需要输入用户密码
进入解压目录
root@fnngj-H24X:/usr/java# cd
root@fnngj-H24X:/usr/java/eclipse#
about_files   configuration   eclipse.ini   icon.xpm p2
about.html   dropins   epl-v10.html   libcairo-swt.so    plugins
artifacts.xml    eclipse    features   notice.html    readme
我们找到解压的目录就可以运行程序,不过每次到目录下去启动程序太不方便了。
生成桌面图标
这里教你一个简单的方式。
1、在桌面上创建一个文档。打开文档输入一下内容
[Desktop Entry]
Categories=D
Comment[zh_CN]=
Exec=/usr/java//eclipse/eclipse
GenericName[zh_CN]=IDE
GenericName=IDE
Icon=/usr/java/eclipse/icon.xpm
Name[zh_CN]=eclipse
Name=eclipse
StartupNotify=true
Terminal=false
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=owen
(标红的两处路径需要修改为你软件的安装路径)
修改完成保存关闭文件
2、对文件进行重命名为:eclipse.desktop
3、右键文件增加权限
4、然后,就可以点击图标打开了,(什么情况图标这么大!!!!)
最后附上 hello world
------------------------------------------------
备注一下,第一次在ubuntu 下完成这篇文章,一年前就尝试将使用环境转换到linux下了,毕竟有多年的windows使用习惯,一下各种不适应,于是又老老实实的回到了windows下。这几天又有了热情在linux下尝试各种使用。}

我要回帖

更多关于 修改ie默认版本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信