Linux笔记 ·

ubuntu14.04下java安装及环境配置

这可以说是一篇迟到的文章,几个月前就说要写,结果拖到了现在。中间由于系统打不开等一系列原因,不得不重装了一遍,这次环境配置是出了点小问题,最后奉上。

方案一:使用tar.gz

准备工作

下载java jdk包:

Java SE 8:http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java jdk 7:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

这里提供这两种jdk根据需要自己下吧。

JDK安装

这里以 jdk-7u67-linux-i586.tar.gz 为例。

终端通过cd命令进入安装包所在位置,执行:

sudo tar -zxvf jdk-7u67-linux-i586.tar.gz -C /opt/Java

 

, -C 后是要解压到的目录,我这里是自己之前在opt里建了个Java文件夹,大家根据自己的需要去解压吧,最后得到文件夹:jdk1.7.0_67 即可,由于下载的版本不同,得到的文件夹名可能不同,但方法都是一样的。

环境配置

忘记第一次配置时用的哪一种了,目前仅用方案一正确配置,这也是ubuntu吧里的朋友给的解决方案,其余的尚未尝试;第二种是环境变量出问题后,Java吧里的朋友给的解决方案,第三种属于网络了,自己没试过,留给各位当参考了;第四种,在解决配置问题时使用过,但发现,那是临时变量,当用户注销、重启一类时便失效了。

方案一 修改.bashrc文件

终端中命令:

 gedit ~/.bashrc

注:这一步时,网上有说通过vim修改的,命令如下:

vim ~/.bashrc

 如果没有安装vim先执行:

sudo apt-get install vim

 

打开文件,在其末尾加入:

#set JAVA jdk
export JAVA_HOME=/opt/Java/jdk1.7.0_67/

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

具体地方记得自己修改。

你可以自己加上指定的多个路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,

如果想立刻生效,则可执行下面的语句:

source ~/.bashrc

 方案二:修改/etc/profile文件

Ubuntu16.04使用的该种方案,成功配置并在此做了部分更新。

-2017.09.22

·用文本编辑器打开/etc/profile

$ sudo vim /etc/profile

在文件最后添加

#set java environment
export JAVA_HOME=/opt/Java/jdk1.7.0_67/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

效果如图:

ubuntu14.04下java安装及环境配置

 

保存退出。

 source /etc/profile

使环境变量生效。使用查看版本号的命令查看,如图则说明成功:

ubuntu14.04下java安装及环境配置

如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。

方案三:修改.bash_profile文件

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。 

这个和方案一类似,应该只是文件名什么的不一样。

用文本编辑器打开用户目录下的.bash_profile文件
·在.bash_profile文件末尾加入:

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

·重新登录 

方案四:直接在shell下设置变量 

不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。 
只需在shell终端执行下列命令: 

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

检测

终端执行:java -version ,就可以看到版本就是刚配置的 1.7.0_67

分别运行 java javac可查看相应的条令,

初步确认配置成功。

用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存: 

public class Test { 
       public static void main(String[] args) { 
              System.out.println("A new jdk test !"); 
          } 
}

 


2. 编译:在shell终端执行命令 javac Test.java 
3. 运行:在shell终端执行命令 java Test 
当shell下出现“A new jdk test !”字样则jdk运行正常。

(图为第一次安装时的了,这次没截)

方案二 :通过“PPA”来安装

 

(1)Ubuntu12.04中安装java较为简单,直接添加PPA源,并使用相应命令进行安装:

     (1)安装java7版本:

sudo add-apt-repository ppa:webupd8team/java   
sudo apt-get update  
sudo apt-get install oracle-java7-installer

(2)安装java8版本:

sudo add-apt-repository ppa:webupd8team/java   
sudo apt-get update  
sudo apt-get install oracle-java8-installer

(2)安装界面(Java8为例):

如果在使用PPA安装java7/java8过程中,出现错误,可使用如下命令进行清除(java7为例):

sudo rm /var/lib/dpkg/info/oracle-java7-installer*  
sudo apt-get purge oracle-java7-installer*   
sudo rm /etc/apt/sources.list.d/*java*

 

(3)安装完后,利用java-version查看安装的版本(java8为例):

附录:

遇到的问题:

1.程序“javac”已包含在下列软件包中

具体问题

在按照Linux公社Ubuntu 14.04 配置 Java SE jdk-7u55一文配置变量时,因为粗心少打了两个j,然后出现如下问题:

程序 'javac' 已包含在下列软件包中:

?* default-jdk

?* ecj

?* gcj-4.6-jdk

?* openjdk-6-jdk

?* gcj-4.5-jdk

?* openjdk-7-jdk

请尝试:sudo apt-get install <选定的软件包>

?

xusongqin@xusongqin-F83VF:/usr/bin$ java -version

程序 'java' 已包含在下列软件包中:

?* default-jre

?* gcj-4.6-jre-headless

?* openjdk-6-jre-headless

?* gcj-4.5-jre-headless

?* openjdk-7-jre-headless

请尝试:sudo apt-get install <选定的软件包>

 

解决办法
sudo update-alternatives --install /usr/bin/javac javac /opt/Java/jdk1.7.0_67/bin/javac 300
sudo update-alternatives --install /usr/bin/java java /opt/Java/jdk1.7.0_67/bin/java 300

2.命令javac可用,java不可用

具体问题:

我遇到的属于环境中CLASSPATH配置问题

遇到上面的问题1后输入命令解决了,之后运行

终端执行:java -version java javac 均没发现问题,但是运行了程序时始终是命令javac可用,java不可用。

解决之路:

之后去了java和ubuntu吧寻求答案,通过锐思more:提供的“export CLASSPATH=.”命令可以临时运行了,从而正式确定是CLASSPATH配置问题。

最后用删除了原来的环境配置,重新按本文环境配置中的方案一重新配置了一遍,这才解决了。

2.相关推荐:

ubuntu13.10下安装Eclipse兼tar.gz提取时提示失败的解决办法

2.参考资料:

(1)自己遇到第二个问题的详情,这里问题描述更详尽些。在此感谢java吧的蝶恋一殤ubuntu吧的锐思more 以及这两个吧中个热心指导的吧友。

里面在最后有方案一和方案二的提示或原型

unbuntu中javac可用,java不可用,环境自己也找不出问题-java吧

unbuntu中javac可用,java不可用,环境自己也找不出问题-ubuntu吧

(2)自己遇到的第一个问题参考

参与评论

  • 福利社

    最近也想用用linux,怎么样常用的软件,Linux上都能用吗?

    6年前 (2014-08-18)
    回复
    回复福利社
  • 汐枫

    很多都不能。。。。可以试着找代替的

    6年前 (2014-08-19)
    回复
    回复汐枫
  • hua

    现在看到代码就烦恼啊

    6年前 (2014-08-17)
    回复
    回复hua
  • 汐枫

    那就Pass掉

    6年前 (2014-08-17)
    回复
    回复汐枫