首页 > 代码库 > 在命令符模式下编译并执行Java程序

在命令符模式下编译并执行Java程序

对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序。使用javac工具编译.java,使用java工具执行.class。(推荐sublime编辑器)。

怎么在命令符模式下编译并执行Java程序?弄了好久查了不少资料终于解决。记录下来,便于总结、分享、查阅。

首先根据自己计算机的操作系统下载和安装sun公司的JDK,http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html。安装过程中会提示安装JRE,注意将JDK和JRE放置在两个文件夹中。我的目录:D:\hsl\JAVA\JDK和D:\hsl\JAVA\JRE。

公用JRE主要是为开发好的Java程序提供执行的平台。JDK本身也有自己的JRE,位于JDK安装目录的jre目录下。我的目录:D:\hsl\JAVA\JDK\jre。JDK本身所附的JRE主要是开发Java程序时做测试用。初学者只要知道有两种不同的VM即可。

安装完JDK后,设置path和classpath。(如果使用IDE工具Eclipse,直接打开Eclipse就可使用,不用设置环境变量)

先说一下我的JDK路径和.java和.class路径。JDK安装路径位于D:\hsl\JAVA\JDK,.java和.class路径位于C:\java。

环境变量配置:

PATH=.;%JAVA_HOME%\bin;
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
JAVA_HOME=D:\hsl\JAVA\JDK

下面具体讲解环境变量配置(均输入双引号里面的内容):

右键我的电脑,打开属性。选择“高级—环境变量”。需要设置三个属性“JAVA_HOME”、“path”、“classpath”,在没安装过jdk的环境下,path通常已存在(安装过其它软件会自动增加,比如matlab,Python),JAVA_HOME和classpath不存在。

1、新建变量JAVA_HOME,该变量的内容是java的安装路径。

目的:方便引用,比如JDK安装在D:\hsl\JAVA\JDK目录,则设置D:\hsl\JAVA\JDK为该环境变量值。以后要使用这个路径时,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串。当JDK路径被迫改变的时候,仅需更改JAVA_HOME的变量值即可,否则要更改任何用绝对路径引用JDK目录的文档。第三方软件会引用约定好的JAVA_HOME变量,不然你将不能正常使用该软件。用JAVA久了就会知道,要是某个软件不能正常使用,可能由此引起。

2、在系统变量里面找到path(没有就新建),该变量的含义是系统在任何路径下都可识别java命令,变量值为“.;%JAVA_HOME%\bin;”(刚才设置JAVA_HOME的值),也可以直接写上安装路径“D:\hsl\JAVA\JDK\bin;”。

目的:这个变量设置为了程序能找到相应的".class"文件。举个例子:你编译一个JAVA程序A.java,会得到一个A.class的类文件,在当前目录下执行javaA,将会得到相应的结果(前提是你已经设置CLASSPATH为".")。现在,你把A.class移到别的目录下(例如:"D:\"),执行javaA,将会找不到.class文件。现在你把CLASSPATH增加为:".;e:\",再在任何目录下运行javaA,一切正常,java命令通过CLASSPATH找到了.class文件。

3、新建变量classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;"(加.表示当前路径),与“%JAVA_HOME%"有相同意思。

目的:你想在任何时候都使用%JAVA_HOME%\bin\java等来执行java命令吗?当然不会。那可以选择把%JAVA_HOME%\bin添加到PATH路径下,这样,我们在任何路径下就可以仅用java来执行命令了(当你在命令提示符窗口输入代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,并且执行)。

以上三个环境变量设置完毕,确定。

验证看看安装和配置是否成功。打开cmd进入dos系统界面。分别输入java,javac,java–version进行验证。

在cmd输入“java”

技术分享

输入javac

技术分享

输入java-version(该命令查看jdk版本,java后要空格再加–version)

技术分享

配置好了,下面进行代码测试。

在C盘创建一个java的文件夹(为什么是C盘呢?我就是因为之前在D盘创建,一直无法运行.class,浪费了很多时间,虽然原因已找到了,但为了方便还是放在C盘吧,反正代码占的内存很小)。新建txt,输入代码,另存为HelloWorld.java。代码:

public class HelloWorld{public static void main(String args[]) {System.out.println("Hello World"
); }}

在cmd输入命令,运行成功,如图:

技术分享

cd c:\java:进入存放.java和.class的目录

javac HelloWorld.java:用javac工具程序编译.java

java HelloWorld:用java工具程序执行.class。

tips:(与上文没有关系)

1、ctrl+v在cmd下不起作用,但可鼠标右键选择粘贴。

2、打开cmd,默认在c盘目录下,若要切换到其它盘目录,只输入cd D:\hsl\JAVA\javaclasspath是无效的,要先输入D:,再输入cd D:\hsl\JAVA\javaclasspath可进入D盘相应目录。

3、也可不设置环境变量,直接在cmd输入

Set Path=D:\hsl\JAVA\JDK\bin;%Path%
set CLASSPATH=%CLASSPATH%;D:\hsl\JAVA\javaclasspath

但每次打开cmd都要粘贴相同命令。我试过,只课编译不能运行,没有找到原因。大家可以试试:)

4、等价命令

D:
cd D:\hsl\JAVA\javaclasspath
javacHelloJava.java

等价于

D:
javac D:\hsl\JAVA\javaclasspath\HelloJava.java

 

Reference:

[1] http://blog.csdn.net/yougou_sully/article/details/7182877

[2] Java jdk6 学习笔记

 

在命令符模式下编译并执行Java程序