linux下java的安装与测试
windows下使用eclipse编译运行java程序,迁移到linux上运行时还是遇到了不少麻烦。一般是遇到“Error: Could not find or load main class ”之类的错误,原因是CLASSPATH环境变量不正确。
还是从源头上解决吧,首先先看java的源码安装:
从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载tar.gz文件上传到/home/data目录下
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文件同级目录,所以需要添加当前目录)
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
保存文件,退出vi,运行以下命令生效
source /etc/profile
生效之后请使用以下命令测试,看看自己的配置是否都正确
javac -version
java -version
echo $JAVA_HOME
echo $CLASSPATH
echo $PATH
安装完成之后,我们来一个最简单的Demo1.java文件测试
cd /root/
vi Demo1.java
public class Demo1 { public static void main(String[] args) { System.out.println("Hello world!"); } }
javac Demo1.java
java Demo1
一般情况下不会出现问题,会打出“Hello world!”,如果真的有什么报错,请与我的机器的环境变量作比对:
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
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%依次检查。
来一个稍微复杂点的程序案例,我们建立一个包叫test,然后再test包(目录)中新建一个Demo2.java的文件
cd /root
mkdir /root/test
vi /root/test/Demo2.java
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!”。
更复杂一点的,需要下载java对应版本的加密组件,对于解决AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter非常管用。下载地址:
Java 5.0 无政策限制文件
Java 6 无政策限制文件
Java 7 无政策限制文件
其他版本 无政策限制文件java8的没有找到下载地址,这里一并给出本地下载地址:
jce.zip
然后是解压各自版本的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\
如果使用eclipse可以导入这个包,注意项目使用的jre的路径一定要是刚才覆盖的路径,使用eclipse自带的jre无效。下载地址:
sample_java_aes256.zip
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
随意转载^^但请附上教程地址。
评论已关闭