原文: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的操作略微简单一些,仅仅需按几下button,复制粘贴一下就可以;在Linux下则须要敲入挺多的字符才行,但也是不是非常难的,仅仅要在使用中注意一些小的细节,不犯粗心大意的错误,非常easy就能够在Linux下编写,编译和运行Java程序了,并且在Linux下编写,编译和运行Java程序相同非常方便,简单。

Linux环境下编译并执行ava helloworld程序的更多相关文章

  1. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  2. 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序

    Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...

  3. 在虚拟机linux环境下编译windows版adb fastboot

    原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android ...

  4. Ubantu Linux 环境下编译c++程序

    先在文件中新建一个a.cpp文件,在里面编写程序, 然后打开终端输入下面命令即可; $ g++ a.cpp -o b ///编译a.cpp 然后把编译之后的.exe文件存入b中 $ ./b ///执行 ...

  5. linux环境下编译C++ 程序

    GCC(GNU Compiler Collection)是Linux下最主要的编译工具,GCC不仅功能非常强大,结构也异常灵活.它可以通过不同的前端模块来支持各种语言,如:Java.Fortran.P ...

  6. Linux环境下编译JDK

    环境准备 操作系统,ubuntu-14.04.6-desktop-amd64.iso,下载地址:http://59.80.44.100/releases.ubuntu.com/14.04/ubuntu ...

  7. linux环境下编译Android apk

    Android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of the tree. - mm:      Build ...

  8. 分布式缓存技术memcached学习(一)——linux环境下编译memcahed

    安装依赖工具 [root@localhost upload]# yum  install gcc  make  cmake  autoconf  libtool 下载并上传文件 memcached 依 ...

  9. [转载]Linux 环境下编译 0.11版本内核 kernel

    最近在看<.如果Clobber/Modify 为空,则其前面的冒号(:)必须省略. 2.如果Output,Input,Clobber/Modify都为空,Output,Input之前的冒号(:) ...

随机推荐

  1. 针对PCB飞针测试快速有效的技巧

    测试探针通过多路传输(multiplexing)系统连接到驱动器(信号发生器.电源供应等)和传感器(数字万用表.频率计数器等)来测试UUT上的元件.当一个元件正在测试的时候,UUT上的其它元件通过探针 ...

  2. jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)(转)

    版权声明]:版权归作者所有,转载时请以超链接形式标明文章原始出处和作者信息及本声明:http://www.open-lib.com/Forum/Read_69_1.action 前言: 当jquery ...

  3. SVN同步出现故障

    1.错误描写叙述    同步SVNStatusSubscribe时报告了错误,1中的0个资源已经同步    同步/frame时错误发生:Error getting status for resourc ...

  4. Opencv 学习资料集合(更新中。。。)

    基础学习笔记之opencv(24):imwrite函数的使用 tornadomeet 2012-12-26 16:36 阅读:13258 评论:9 基础学习笔记之opencv(23):OpenCV坐标 ...

  5. Android API 中文(77)——AdapterView.OnItemSelectedListener

    前言 本章内容是android.widget.AdapterView.OnItemSelectedListener,版本为Android 2.3 r1,翻译来自"cnmahj",欢 ...

  6. c 对某个整数做因式分解

    1 #include <stdio.h> int main(void) { int n,i; scanf("%d",&n); printf("%d=& ...

  7. Oracle游标循环更新数据案例

    declare v_XTXMBH number; v_ZJZJZJRQ varchar2(40); cursor c_job is SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZ ...

  8. Android之判断设备网络连接状态,并判断连接方式

    在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络.判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线 ...

  9. javascript 学习随笔7

    <head> <title>标题页-学无忧(www.xue51.com)</title> <script language="JavaScript& ...

  10. Python之路:Python 函数

    一.函数式编程:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装 二. 函数的定义和使用 def 函数名(参数): ... 函数体 ... 函数的定义主要有 ...