首页 > Linux,java > linux下java的安装与测试

linux下java的安装与测试

windows下使用eclipse编译运行java程序,迁移到linux上运行时还是遇到了不少麻烦。一般是遇到“Error: Could not find or load main class ”之类的错误,原因是CLASSPATH环境变量不正确。

还是从源头上解决吧,首先先看java的源码安装:

  1. 从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载tar.gz文件上传到/home/data目录下

  2. centos下以下命令来复制和解压文件

    mkdir -p /usr/local/java/

    cd /home/data

    cp -r jdk-8u60-linux-x64.tar.gz /usr/local/java/

    cd /usr/local/java/

    tar zxvf jdk-8u60-linux-x64.tar.gz

    解压完成之后,需要添加环境变量,这里以修改/etc/profile方式添加

    vi /etc/profile

    添加以下内容,注意CLASSPATH一定要以.:开头(因为:是分隔符,.表示当前目录,一般情况下我们编译的class文件在java文件同级目录,所以需要添加当前目录)

  3. JAVA_HOME=/usr/local/java/jdk1.8.0_60
    CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME CLASSPATH PATH
  4. 保存文件,退出vi,运行以下命令生效

    source /etc/profile

    生效之后请使用以下命令测试,看看自己的配置是否都正确

    javac -version

    java -version

    echo $JAVA_HOME

    echo $CLASSPATH

    echo $PATH


  5. 安装完成之后,我们来一个最简单的Demo1.java文件测试

    cd /root/

    vi Demo1.java

  6. public class Demo1 {
    	public static void main(String[] args) {
    		System.out.println("Hello world!");
    	}
    }

    javac Demo1.java

    java Demo1

  7. 一般情况下不会出现问题,会打出“Hello world!”,如果真的有什么报错,请与我的机器的环境变量作比对:

  8. echo $JAVA_HOME
    /usr/local/java/jdk1.8.0_60
    echo $CLASSPATH
    .:/usr/local/java/jdk1.8.0_60/jre/lib/ext:/usr/local/java/jdk1.8.0_60/lib/tools.jar
  9. Windows系统下安装java也差不多,例如我的PC机的java安装在C:\Program Files (x86)\Java\jdk1.8.0_11目录下,所以我新建了两个系统变量:

    JAVA_HOME C:\Program Files (x86)\Java\jdk1.8.0_11

    CLASSPATH .;%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\tools.jar;

    然后是修改PATH环境变量,新增%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin这2个目录。

    最后使用echo %JAVA_HOME%、echo %CLASSPATH%、echo %PATH%依次检查。

  10. 来一个稍微复杂点的程序案例,我们建立一个包叫test,然后再test包(目录)中新建一个Demo2.java的文件

    cd /root

    mkdir /root/test

    vi /root/test/Demo2.java

  11. package test;
    public class Demo2 {
    	public static void main(String[] args) {
    		System.out.println("Hello world!");
    	}
    }

    保存退出,然后运行一下命令:

    javac test/Demo2.java

    java test/Demo2

    对于编译和运行带包名的程序,只需要在包的根目录编译和运行,带上包的路径即可。

    同样会打出“Hello world!”。

  12. 更复杂一点的,需要下载java对应版本的加密组件,对于解决AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter非常管用。下载地址:


       Java 5.0 无政策限制文件
        Java 6 无政策限制文件
        Java 7 无政策限制文件
        其他版本 无政策限制文件

    java8的没有找到下载地址,这里一并给出本地下载地址:jce.zip

  13. 然后是解压各自版本的jce文件,里面有2个jar文件,local_policy.jar和US_export_policy.jar。

    然后将其上传覆盖linux服务器上/usr/local/java/jdk1.8.0_65/jre/lib/security/目录下的同名文件。

    windows下对应目录是:C:\Program Files (x86)\Java\jdk1.8.0_11\jre\lib\security\

  14. 如果使用eclipse可以导入这个包,注意项目使用的jre的路径一定要是刚才覆盖的路径,使用eclipse自带的jre无效。下载地址:sample_java_aes256.zip

  15. linux下运行demo.zip

    注意:将demo.zip解压之后的net目录和lib目录都上传到/root目录,然后在linux终端下运行以下命令:

    javac -classpath ".:/root/lib/commons-codec-1.4.jar" net/imcore/Aes256.java

    java -classpath ".:/root/lib/commons-codec-1.4.jar" net/imcore/Aes256

    应该不会报错,使用外部引入jar包的时候要么将jar包放在之前CLASSPATH指向的目录下,要么在编译和执行的时候临时指定CLASSPATH。



文章网址:http://blog.zhengshuiguang.com/linux/linux-java.html

随意转载^^但请附上教程地址。

标签:java安装笔记 linux下java

评论已关闭