【转】在Linux下编译与执行Java程序
原文:http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html
已经学会如何在Windows下如何编辑,编译和执行Java程序了,我就想试试如何在Linux下编译和执行Linux。
昨天下载了一个for Linux 的Eclipse,使用起来和在Windows下没有什么区别,但是速度慢了些,于是今天我想尝试一下如何在控制台下使用命令编译和执行Java程序。
首先,去Sun的网站上Download一个JDK,我下载的版本是 jdk1.5.0_08,安装。
接着,在root下编写了一个简单的Java程序 first.java
public class first{
public static void main(String args[]){
System.out.println("This is my first program.");
}
}
在/usr/java/jdk1.5.0_08/bin下进行如下操作:
编译 ./javac /root/first.java 没有错误;
执行 ./java /root/first 有错误“Exception in thread "main" java.lang.NoClassDefFoundError”,我以为是没有设置环境变量的缘故。
下一步,设置环境变量。从网上找了一个如何设置环境变量的方法,按照自己的情况设置了一番,设置方法如下:
[root@localhost bin]# export JAVA_HOME=/usr/java/jdk1.5.0_08
[root@localhost bin]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/
tools.jar
[root@localhost bin]# export PATH=$PATH:$JAVA_HOME/bin
设置好了之后,对原程序进行重新编译和执行
编译 javac /root/first.java 成功
执行 java /root/first 仍然出现错误 “Exception in thread "main" java.lang.NoClassDefFoundError”
我很纳闷,不知道问题出在哪里,java 这个命令已经可以使用,那应该是使用方法的错误。回到放置程序的root下,再一次执行 java first,这时没有错误,屏幕上显示“This is my first program.”这时我才想起在Windows的DOS环境下执行java这个命令时必须在存放文件的根目录下,在Linux下也应该这样吧!不管怎么说,现在我已经可以在Linux下不借助Eclipse这样的工具对Java程序进行编译和执行了,今天晚上也算是小有收获吧!
做一下总结:我觉得在Linux下安装JDK和在Windows下并没有什么区别,只是在设置环境变量的时候有点不同,Windows的操作稍微简单一些,只需按几下按钮,复制粘贴一下就行;在Linux下则需要敲入挺多的字符才行,但也是不是很难的,只要在使用中注意一些小的细节,不犯粗心大意的错误,很容易就可以在Linux下编写,编译和执行Java程序了,而且在Linux下编写,编译和执行Java程序同样很方便,简单。