经过一些试验后,我获得了如何使用包名称以及如何从命令提示符下运行Java类文件的方法。
假设以下是我的Java源文件:
package mySample; public abstract class Sample{ public static void main(String... a){System.out.println("Hello ambiguity"); } }该文件位于目录“ D: Code N Code CommandLine”中。
现在,当使用以下命令编译源代码时(通过从cmd转到以上目录):
javac -d . Sample.java
这将在当前目录中自动创建“ mySample”文件夹。因此,我的类文件Sample.class存在于目录“ D: Code N Code
CommandLine mySample”中。编译器根据我在源代码中提供的程序包名称创建了这个新文件夹“ mySample”。
因此,如果我给我的包名称是“ package com.mySample”,则编译器将创建两个目录并将我的类文件放置在“ D: Code N Code
CommandLine com mySample”中。
现在,我仍位于当前的工作目录中,即“ D: Code N Code CommandLine”中。为了运行我的类文件,我给出以下命令:
java mySample.Sample
因此,我给出了程序包的完整层次结构,然后给出了类名。Java解释器将在当前目录中搜索“ mySample”目录,并在该目录中搜索“
Sample.class”。它正确并成功运行它。:)
现在,当我询问为什么要编译错误的程序包源代码时,虽然可以成功编译代码,但是当我运行类文件时却给出了NoClassDefFoundError。因此,以上方法可用于从命令行使用程序包名称。



