【转】CentOS上安装 jdk:rpm安装和源码安装
1.安装 jdk-8u5-linux-x64.rpm
原文链接:http://www.cnblogs.com/xsi640/p/3756995.html
先下载最新的jdk版本
文件名:jdk-8u5-linux-x64.rpm
将文件通过winscp上传到/usr/local目录中
rpm -ivh jdk-8u5-linux-x64.rpm
系统会自动安装。
安装完成后,配置环境变量。
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_05
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
刷新配置文件:
source /etc/profile
查看环境变量设置:
echo $JAVA_HOME
echo $CLASSPATH
echo $PATH
查看Java版本,返回标示配置成功。
java -version
2.源码安装 jdk
原文链接:http://www.cnblogs.com/jilianggqq/p/4141641.html
判断是否安装
首先,我们得判断机子上是不是安装了jdk,好多人推荐使用java -version命令。我的计算机上使用java -version命令,内容如下:
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.2.el6_4-i386 u45-b15)
OpenJDK Server VM (build 24.45-b08, mixed mode)
这看起来好像我的机子中已经安装了jdk,但是当我使用javac时,会提示:
-bash: javac: command not found
这说明第一个java命令,不是安装的jdk中的java命令,而是在$PATH的所有路径下有一个可以执行的java文件,说明jdk还是没有正确安装。这个要特别注意。
安装jdk
- 去http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk的安装文件。由于我的Linux是32位的,因此我下载jdk-8u25-linux-i586.tar.gz文件。
- 新建/usr/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。
- 执行命令tar -zxvf jdk-8u25-linux-i586.gz 进行解压,解压后发现/usr/java多了一个jdk1.8.0_25文件夹。
- 通过以上步骤,jdk就已经全部安装完成了。下面,就是环境变量的配置。
配置环境变量
- 使用vim /etc/profile编辑profile文件
- 在/etc/profile底部加入如下内容
JAVA_HOME=/usr/java/jdk1.8.0_25
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH - 以上,环境变量配置完成。需要注意的是,PATH在配置的时候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令时,系统会找到以前的java,再不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
- 还要注意,以前其它教程写的CLASSPATH=$JAVA_HOME/lib.tools.jar,不知道以前的版本是怎么样的,现在的版本是没有这样的jar包的。
- 最后使用source /etc/profile让profile文件立即生效。
命令测试
- 使用javac命令,不会出现command not found错误
- 使用javac -version,出现版本为java version "1.8.0_25"
- echo $JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正确。
代码测试
在自己的工作目录下创建一个新文件Hello.java,写入如下内容:
public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
执行命令如下,如果得到以下结果,说明jdk安装完成。
[gqq@pku ~/JavaProjects/test]$ javac Hello.java
[gqq@pku ~/JavaProjects/test]$ java -cp . Hello
Hello World
当然,我们安装的jdk8,应该测试下jdk8的特性。可以使用jdk8特有的stream来测试,代码如下:

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate; public class TestLambda1 {
public static void main(String[] args) { // Aggregate Operations
List<String> myList = Arrays.asList("zhangsan", "lisi", "wangwu",
"liuliu");
myList.stream().filter(x -> x.contains("a")).map(x -> x.toUpperCase())
.forEach(x -> System.out.println(x));
}
}

使用以下命令运行,得到结果,说明安装没有问题。
[gqq@pku ~/JavaProjects/test]$ javac TestLambda.java
[gqq@pku ~/JavaProjects/test]$ java -cp . TestLambda
ZHANGSAN
WANGWU
【转】CentOS上安装 jdk:rpm安装和源码安装的更多相关文章
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
[MySQL]Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后, ...
- 【转】rpm包和源码包安装的区别
转自:https://blog.csdn.net/junjie_6/article/details/59483785 建议在安装线上的生产服务器软件包时都用源码安装,这是因为源码安装可以自行调整编译参 ...
- Linux 之 软件安装-yum、rpm、源码安装
软件安装-yum.rpm.源码安装 参考教程:[千峰教育] 一.Yum安装软件: 基本说明: 1.yum相当于windows上面的360的软件中心,appstore,安卓的应用商店. 2.yum是re ...
- 在CentOS 7上安装Node.js的4种方法(yum安装和源码安装)
CentOS 7上的安装方法,其中涵盖了源码安装,已编译版本安装,EPEL(Extra Packages for Enterprise Linux)安装和通过NVM(Node version mana ...
- Ubuntu安装 jdk.rpm 报错问题解决
报错问题出现原因 第一次使用Ubuntu操作系统,很多命令及软件安装方式与以往使用的Linux操作系统(CentOS)有很大区别.现在总结使用Ubuntu在安装JDK中,遇到的问题及解决方法. roo ...
- LINUX 安装JDK (rpm格式和tar.gz格式)
谷歌博客地址:http://tsaiquinn.blogspot.com/2014/10/linux-jdk-rpmtargz.html JDK rpm方式: 我使用的是SecureCRT,先下载了然 ...
- lunix安装jdk(rpm格式)
1.下载后,首先把jdk-7u3-linux-x64.rpm复制到/usr/local/src#cp jdk-7u3-linux-x64.rpm /usr/local/src/2.给所有用户添加可执行 ...
- centos7上Jenkins通过rpm包方式直接安装及使用war包方式升级
一.通过rpm包方式直接安装jenkins 1.官网下载rpm安装包(前提是安装jdk) wget https://pkg.jenkins.io/redhat-stable/jenkins-2.121 ...
随机推荐
- Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)
我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...
- fopen()函数
1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都能够通过文件管理的方法来完毕.而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 具体介绍Turb ...
- javascript类型转换、运算符、语句
1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...
- Error D8016 '/ZI' and '/Gy-' command-line options are incompatible
使用vs运行工程时出现错误: Severity Code Description Project File Line Suppression StateError D8016 '/ZI' and '/ ...
- BZOJ 1231: [Usaco2008 Nov]mixup2 混乱的奶牛( dp )
状压dp dp( x , S ) 表示最后一个是 x , 当前选的奶牛集合为 S , 则状态转移方程 : dp( x , S ) = Σ dp( i , S - { i } ) ( i ∈ S , ...
- 64位win8 配置Apache2.4+mod_msgi4.4.21+django1.8.6+python3.4
学习了很多前人分享的资料,整理如下: 安装步骤: 一.安装python3.4 下载 python-3.4.3.amd64.msi 直接安装 地址:https://www. ...
- hdu 4779 Tower Defense 2013杭州现场赛
/** 题意: 有两种塔,重塔,轻塔.每种塔,能攻击他所在的一行和他所在的一列, 轻塔不 能被攻击,而重塔可以被至多一个塔攻击,也就是说重塔只能被重塔攻击.在一个n*m 的矩阵中,最少放一个塔,可放多 ...
- hibernate 单元测试 5.2
单元测试 测试 dao service action package com.kaishengit.test; import org.hibernate.Session; import com.ka ...
- Tour(KM算法)
Tour Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submi ...
- EBS 数据库预克隆日志
ora02@[/u07/CCTEST02/db/tech_st/11.1.0/appsutil/scripts/CCTEST02_test01] $ T02_test01/StageDBTier_06 ...