Linux系统下Java环境变量的设置

大家好,各位高手些,小弟前不久遇到一个很基础的问题,一直困惑了我很久,我安装的Linux系统是Fedora 8,我下载的jdk是jdk-6u21-linux-i586.bin ,我在当前用户(chenjy)的home之下新建了一个名为Software文件夹后,将jdk-6u21-linux-i586.bin 拷贝到了Software文件夹之下,在终端中进入Software文件夹下,运行sh jdk-6u21-linux-i586.bin安装jdk,安装完成后,在设置环境变量的时候,设置如下:
set JAVA_HOME=/home/chenjy/jdk1.6.0_21
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
进行如上设置之后,注销,重新登录
在终端运行java命令能正常显示提示信息,运行java -version也可以显示jdk版本信息,但运行javac时便不能正常提示,提示no command等
悬赏不多,愿请高手为菜鸟解惑,如需更多消息可加QQ:619233553

从java.sun.com上下载JDK的安装文件,一般是jdk1.5.0_10_XXXX.bin的格式。

解开生成JDK目录,这里假设JDK安装在/usr/java/jdk1.5.0_10中:

代码:

sudo chmod 755 jdk1.5.0_10_XXXX.bin
sudo ./jdk1.5.0_10_XXXX.bin

sudo mkdir /usr/java

sudo mv jdk1.5.0_10/ /usr/java

代码:

sudo gedit /etc/profile

在这个文件的末尾追加:

代码:

export JAVA_HOME=/usr/java/jdk1.5.0_10/

#注意把新添加的JDK的bin目录追加在$PATH的最前面,这样当系统中安装有多个JDK版本时,程序会优先搜寻排在最前面的JDK版本。

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

保存/etc/profile之后,别忘了执行下面这个命令,使环境变量的更改马上起作用。

代码:

source /etc/profile

如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。

最后检查环境变量更改是否生效:

代码:

java -version
-----
下面是另一种
1、下载需要的jdk( 我的是 jdk-6u2-linux-i586-rpm.bin),放在/home目录。
2、
#cd /home
#cp jdk-6u2-linux-i586-rpm.bin /usr/local
#cd /usr/local
(给所有用户添加可执行的权限)
#chmod +x jdk-6u2-linux-i586-rpm.bin
# ./jdk-6u2-linux-i586-rpm.bin
( 有可能会生成jdk-6u2-linux-i586-rpm文件,若是,则#chmod +x jdk-6u2-linux-i586-rpm, 然后 #rpm -ivh jdk-6u2-linux-i586-rpm. 若非,即直接进入安装程序)
出现安装协议,一直enter最后到y接受。

3、设置环境变量。
若是只是当前用户:
#vi /etc/profile
在最后加入 (与 xp中cmd设置一样)
#set java environment
JAVA_HOME = /usr/java/jdk1.6.0_02
CLASSPATH =.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH = $JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PAHT
esc 回到命令模式,:wq 退出。

若是要在所有用户中使用:
vi /etc/profile.d/java.sh
在新的java.sh中输入上面情况中在末尾添加的内容:
保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh
保存/etc/profile之后,别忘了执行下面这个命令,使环境变量的更改马上起作用。
代码:
source /etc/profile
如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。
最后检查环境变量更改是否生效:
代码:
java -version
4、可在终端个查看环境变量设置情况:
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH

5、检查JDK 是否成功安装:
#java -version
#javac -?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-16
在Linux/unix中设置环境变量
csh:在$HOME/.cshrc中添加一下行
setenv
JAVA_HOME/usr/java/jdk1.6.0
setenv
PATH
$JAVA_HOME/bin:$PATH
setenv
CLASSPATH
.
bash/ksh中:
在$HOME/.bash_profile中添加以下行:
JAVA_HOME=/home/tarena/jdk1.6.0_05
CLASSPATH=.:..:$JAVA_HOME/jre/lib/rt.jar(java类所在的目录或jar文件,在虚拟机中加载类时,虚拟机在CLASSPAHT中找到它)
PATH=$JAVA_HOME/bin:$PATH
(操作系统需要在PATH中找到它)
export
JAVA_HOME
CLASSPATH
PATH
source
.bash_profile
让全局环境变量.bash_profile生效
第2个回答  2010-07-27
首先,你要确定你的java -version 的jdk版本信息是刚才安装的版本么?

如果不是的话,说明你的配置可能出现了如下错误:
然后检查下你的jdk安装路径是否为你刚才配置的路径?

我现在的估计是你的JAVA_HOME配置错了,你可以仔细检查下jdk的安装路径是否为home/chenjy/jdk1.6.0_21?导致你的PATH路径也配置错了,所以才有你的这些问题。
第3个回答  2010-07-27
环境设置没错,只是在你的path环境下没有javac这个二进制码
第4个回答  2010-07-27
sh jdk-6u21-linux-i586.bin安装jdk,这个操作执行完,jdk只是解压到当前目录,也就是/home/chenjy/Software目录,你设置环境变量时设置的是/home/chenjy/jdk1.6.0_21,fedora本身自带jdk,你运行java -version可能运行的是自带的jdk,另外设置环境变量后不需要注销,执行source filename就行,比如你在~/.bash_profile下设置的,就执行source ~/.bash_profile。
楼主是不是没在配置文件里设置环境变量,如果没有的话,注销后设置的环境变量就失效了,你需要把环境变量写进配置文件里,而且不要写set,设置好后可以通过echo $JAVA_HOME来检查是否设置成功
相似回答