MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Ubuntu 10.10 搭建Java运行环境,环境变量

Posted on 2010-12-30 02:30 leekiang 阅读(1588) 评论(0)  编辑  收藏 所属分类: LINUX,UNIX

安装Sun JDK

1. 从Oracle官方网站下载最新的Linux版本JDK二进制包。对于Java 6来说,文件名是 jdk-6u23-linux-i586.bin

2. 复制下载好的文件到你准备安装JDK的文件目录下。这里我将其放在:

    /home/<username>/java/jdk-6u23-linux-i586.bin

3. 打开 Terminal,

    $ cd /home/<username>/java

    $ sudo sh jdk-6u23-linux-i586.bin

应该也可以 $ sudo chmod 755  jdk-6u23-linux-i586.bin,然后$ ./jdk-6u23-linux-i586.bin

4. JDK会被安装在二进制包所在的同一目录内

设置JAVA环境变量

方法1:修改/etc/profile文件
所有用户都会使用这些环境变量
<1>在 shell终端执行命令:gedit /etc/profile
<2>在 profile文件末尾加入:
JAVA_HOME=/home/<username>/java/jdk1.6.0_23
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME,PATH,CLASSPATH
<3>重启系统


/etc/profile这个文件,是系统启动是要自动执行的文件,任何一个用户登录系统都会执行这个文件。
所以尽量不要去修改这个配置文件。
而且如果修改出错,系统可能就起不来了,见"修改了ubuntu的etc/profile文件,系统不能进入了“(http://www.ctochina.net/forum/show/106)
/etc/profile会首先执行/etc/profile.d/目录下的所有*.sh文件
这也就给我们一个可扩展的思路。
如果我们需要配置JDK,那么就在/etc/profile.d/下创建jdk.sh文件
如果需要配置oracle,那么就在/etc/profile.d/下创建oracle.sh文件
来源:http://www.blogjava.net/zhyiwww/archive/2010/01/29/311240.html

方法2:修改.bashrc文件
如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc就可以了,而不像第一种方法给所有用户权限。
<1>在 shell终端执行命令:gedit /home/<username>/.bashrc
<2>在.bashrc文件末尾加入:
export JAVA_HOME=/home/<username>/java/jdk1.6.0_23
export PATH=$JAVA_HOME/bin:
/var/lib/gems/1.8/bin:$PATH
export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
<3>重新登录

方法3:直接在shell下修改
用于在Shell下临时使用,换个Shell即无效
export JAVA_HOME=/home/<username>/java/jdk1.6.0_23
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

注意:
<1>Linux下环境变量使用:(冒号)分隔路径,不同于Windows下的;
<2>Linux使用($+环境变量名)来引用原来变量的值,Windows则是使用%+环境变量名+%.比如$PATH和%PATH%
<3>CLASSPATH中不能存在空格,如Windows下的C:\Documents and Settings\seagar\jdk1.5将是不合法的路径名
<4>CLASSPATH中的当前目录"."不能忽略
<5>export把环境变量导出为全局变量
<6>大小写严格区分


测试安装情况
1.java -version查看版本号
2.使用    编辑器编写一个Java程序
(1)#root > gedit Hello.java
(2)编写程序
public class Hello
{
     public static void main(String[] args)
     {
          System.out.println("Hello");
     }
}
3.编译:javac Hello.java
4.执行:java Hello



与环境变量相关的文件可能还会有/etc/bashrc等,不过这是shell变量,是局部的,对于特定的shell器作用。/etc/profile是全局的,适用于所有的shell。出处

没搞明白,如果JAVAHOME配置在.bashrc里,那么安装的eclipse使用的是哪个jdk

我也没搞明白什么时候用export,什么时候不用


查看当前用户的环境变量的命令:env


Ubuntu中有如下几个文件可以设置环境变量
1
/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2
/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile,设置环境文件的环境变量。
3
~/.bash_profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.bash shell被打开时,该文件被读取.
4
~/.bashrc:该文件包含专用于你的bash shellbash信息,当登录时以及每次打开新的shell,该该文件被读取。
几个环境变量的优先级1>2>3。此段摘自这里

还有/etc/bash.bashrc呢


参考:

http://blog.csdn.net/jeffygn2006/archive/2010/12/17/6081918.aspx

http://hwhhyh25.javaeye.com/blog/512410

http://flysnow.javaeye.com/blog/810083
http://konglx.javaeye.com/blog/702965




/etc/profile改错了,系统起不来怎么办?
在启动时按F2,
选择recovery mode(一般是第二个选项),然后用root登录
执行sudo vi
/etc/profile
系统提示是修改(E)还是恢复(R)(Recover)等,按R键,系统执行后发现该文档没有变化,暂不管。
重新执行sudo vi /etc/profile然后按E键,
一路确认到文档最后面
按"dd"键删除自己加的那几行,然后按ESC回到命令状态,
输入“:wq!”,按Enter键保存退出。
最后reboot
另外一个办法:又新建了一个虚拟机,把原来破坏了的虚拟机的硬盘挂载到新建的虚拟机上,把数据倒过来了。
用LIVECD启动后也可以改
另外可能SSH进去后SU ROOT 再改动

开机狂按ESC进入grub,grub是什么意思
启动时按住shift键可出现grub的菜单,再进入recovery mode

进恢复模式,进入命令行,用vi/vim把你的改动搞回去。如果你原来的的profile文件有备份就简单的cp就可以了。要sudo提权。
教训:
1、修改配置前先备份;
2、一定要学一点纯终端的vi/vim的简单操作;
gedit前最好先 sudo cp 一下 把原文件加上.bak后缀

gedit好办,会留下~尾巴做备份的。
ls /etc  #显示etc文件所有的文件。如果有profile~的话旧执行
或者是whereis profile~   #这个事查找profile~文件
sudo cp /etc/profile~ /etc/profile #注意空格
exit #退出。

[江湖救急]修改/etc/profile重启后无法进入系统
Vista和Ubuntu双系统引导 – 修改默认启动的操作系统
vi编辑器常用的命令及快捷键
系统修复 修改/etc/profile后无法进入系统 且所有命令都无法使用

只有注册用户登录后才能发表评论。


网站导航: