【转】CentOS上安装 jdk:rpm安装和源码安装

时间:2023-03-08 17:04:21
【转】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

  1. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk的安装文件。由于我的Linux是32位的,因此我下载jdk-8u25-linux-i586.tar.gz文件。
  2. 新建/usr/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。
  3. 执行命令tar -zxvf jdk-8u25-linux-i586.gz 进行解压,解压后发现/usr/java多了一个jdk1.8.0_25文件夹。
  4. 通过以上步骤,jdk就已经全部安装完成了。下面,就是环境变量的配置。

配置环境变量

  1. 使用vim /etc/profile编辑profile文件
  2. 在/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
  3. 以上,环境变量配置完成。需要注意的是,PATH在配置的时候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令时,系统会找到以前的java,再不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
  4. 还要注意,以前其它教程写的CLASSPATH=$JAVA_HOME/lib.tools.jar,不知道以前的版本是怎么样的,现在的版本是没有这样的jar包的
  5. 最后使用source /etc/profile让profile文件立即生效。

命令测试

  1. 使用javac命令,不会出现command not found错误
  2. 使用javac -version,出现版本为java version "1.8.0_25"
  3. 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来测试,代码如下:

【转】CentOS上安装 jdk:rpm安装和源码安装
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));
}
}
【转】CentOS上安装 jdk:rpm安装和源码安装

使用以下命令运行,得到结果,说明安装没有问题。

[gqq@pku ~/JavaProjects/test]$ javac TestLambda.java
[gqq@pku ~/JavaProjects/test]$ java -cp . TestLambda
ZHANGSAN
WANGWU