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

效果如图:

保存退出。

 source /etc/profile

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

如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的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)自己遇到的第一个问题参考

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

(3)环境配置参考

Ubuntu 13.04下安装配置jdk1.7和Eclipse-juno

linux:环境变量设置.bashrc及相关

ubuntu 安装jdk7小结(这个主要看到vim修改.bashrc)

ubuntu 环境变量配置 并立即生效(这个主要参考了gedit ~/.bashrc与source ~/.bashrc命令)

bash如何建立.bashrc(于4楼确认vim含义)

(3)安装参考

Ubuntu 14.04 配置 Java SE jdk-7u55(.tar.gz版的)

ubuntu12.04下安装java7/java8(PPA版的)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

CentOS下(rsync+crontab)触发式实现服务器间的文件备份同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

2372
来自专栏Spark学习技巧

聊聊spark-submit的几个有用选项

1293
来自专栏jeremy的技术点滴

nginx使用备忘

30711
来自专栏北京马哥教育

6 个 Linux 运维典型问题,大牛的分析解决思路在这里

28211
来自专栏阿杜的世界

【译】Linux概念架构的理解摘要一、Linux内核在整个计算机系统中的位置二、内核的作用三、Linux内核的整体架构四、高度模块化设计的系统,利于分工合作。五、系统中的数据结构六、子系统架构七、结论

声明:本文翻译自Conceptual Architecture of the Linux Kernel

1224
来自专栏魏艾斯博客www.vpsss.net

非正常关闭 vi 编辑器产生 swp 文件怎么删除

1226
来自专栏小车博客

OpenVZ 魔改 BBR - lkl-rinetd 一键脚本

2751
来自专栏决胜机器学习

高性能网站架构方案(三) ——Varnish加速与Gearman任务分发

高性能网站架构方案(三)——Varnish加速与Gearman任务分发 原创内容,转载请注明来源,谢谢) 一、Varnish 在没有代理的情况下,对于htt...

3548
来自专栏北京马哥教育

LVM详解

petmaster出品 必是精品 一、概述 LVM全称为Logical Volume Manager,即逻辑卷管理器。LVM可以弹性的调整文件系统的容...

3119
来自专栏FreeBuf

OFFICE OLE2LINK(CVE-2017-0199)漏洞利用详解

漏洞概述 FireEye最近公布了一个OFFICE 0day,在无需用户交互的情况下,打开word文档就可以通过hta脚本执行任意代码。经过研究发现,此漏洞的...

2509

扫码关注云+社区

领取腾讯云代金券