原文: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. QT 获取文件MD5值

    /* 方法1 */ QFile theFile(fileNamePath); theFile.open(QIODevice::ReadOnly); QByteArray ba = QCryptogra ...

  2. Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

    最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...

  3. Intersecting Lines(数学)

    Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12844   Accepted: 57 ...

  4. C语言数据结构----双向链表

    概括:主要说明双向链表的基本概念和具体操作以及源代码. 一.基本概念 1.有了单链表以后我们可以把内存中小块的空间联系在一起,并且把每一个小块都存储上我们想要存储的数值.但是单链表只有一个next,我 ...

  5. C++设计模式实现--组合(Composite)模式

    一. 举例 这个样例是书上的,如果有一个公司的组结结构例如以下: 它的结构非常像一棵树,当中人力资源部和財务部是没有子结点的,详细公司才有子结点. 并且最关健的是,它的每一层结构非常相似. 代码实现例 ...

  6. 使用LINQ的几个小技巧

    这里总结了这些技巧.介绍如何使用LINQ来: 初始化数组 在一个循环中遍历多个数组 生成随机序列 生成字符串 转换序列或集合 把值转换为长度为1的序列 遍历序列的所有子集 如果你在LINQ方面有心得也 ...

  7. JavaScript中的事件处理程序

    JavaScript和HTML之间的交互是通过事件实现的.事件,就是文档或者浏览器窗口中发生的一些特定的交互瞬间.可以使用事件处理程序来预订事件,以便在事件发生的时候执行响应的代码.这种观察者模式的模 ...

  8. js动态创建表格方法

    window.onload = function(){ var table = document.createElement('table'); table.border = 1; table.wid ...

  9. windows cmd: 增强windows命令行

    1. 安装clink插件使得windows cmd.exe更好用 https://github.com/mridgers/clink/releases Overview: Clink combines ...

  10. 「OC」 封装

    一.面向对象和封装 面向对象的三大特性:封装.继承和多态 在OC语言中,使用@interface和@implementation来处理类.   @interface就好像暴露在外面的时钟表面,像外界提 ...