Java命令与编译执行

Posted shuhe-nd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java命令与编译执行相关的知识,希望对你有一定的参考价值。

 

一、最基础的编译运行:

在D盘根目录下进行测试:

public class Test
    public void say()
        System.out.println("ok");
    

    public static void main(String[]args)
        new Test().say();
    

以上代码写入:

d:\Test.java

然后在d盘目录下执行:

D:\ >javac Test.java

便能生产Test.class文件,文件同样位于D:\根目录下

再执行:

D:\ >java Test

便可成功运行main方法,看到输入结果"ok"

 

二、java类中指明了package

package com.cainiao.test;

public class Test
    public void say()
        System.out.println("ok");
    

    public static void main(String[]args)
        new Test().say();
    

这时,直接运行:

D:\ >javac Test.java

虽然可以成功得到Test.class文件,但是在运行时,却会报错找不到主类.

错误: 找不到或无法加载主类 Test

原因在于,这时类的全名为:com.cainiao.test.Test,运行时必须要指定全路径名。

Test.class文件不放在相应的包目录下,是不能运行的。编写一个类,编译成.class文件之后,然后随意放在一个目录下,并不等于就将该类放在了包中。,包名必须在源代码中,通过package语句指定,而不是靠目录结构确定。

因此,对于指定了package的类,使用命令:

D:\> javac -d . Test.java

进行编译,即可生成带有包目录的class文件,实际看到的效果为class文件放入了指定的文件夹下:D:\com\cainiao\test\Test.class

然后运行命令:

D:\> java com.cainiao.test.Test

即可得到输入“ok”

 

以上是关于Java命令与编译执行的主要内容,如果未能解决你的问题,请参考以下文章

用命令行编译Java时遇到如下错误提示(该错误是在Class文件生成后,执行java命令时出现的)

Makefile编译出的命令不能执行

如何在 Source Insight 中编译和执行Java 程序

如何使用命令行cmd执行java程序

《Javac与Java命令》第二篇

一些java的部署执行编译等命令