我在NetBeans中创建了该项目(根据P. Noutona,G. Shildta的书“ Java2。the fullest management”),已指定为Example2项目名称。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package example2;

/**
 *
 * @author Asus
 */
/*
 * Другой короткий пример.
 * Файл "Example2.java"
 */
public class Example2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int num; //объявляет переменную с именем num
        num=100; //присваивает num значение 100
        System.out.println("Значение num: "+num);
        num*=2;
        System.out.print("Удвоенное значение num: ");
        System.out.println(num);
    }
}


在创建项目的情况下,将创建带有D:\ ExamplesFromBook \ Example2 \ Example2项目文件夹的类example2.Example2(以及根据D:\ ExamplesFromBook \ Example2创建的项目布局)。我通过命令行中的命令创建了字节码

D:\ExamplesFromBook\Example2\Example2\src\example2>javac Example2.java


因此创建了Example2.class文件。此外,我尝试从命令行启动各种method.class文件,例如,我是这样的:

D:\ExamplesFromBook\Example2\Example2>java example2.Example2


因此收到一个错误

Error: Could not find or load main class example2.Example2


需要使用什么命令以及从哪个文件夹启动?

最佳答案

您的问题出在软件包名称中。您正在编译的类在example2包内部,称为Example2,因此,其完整路径为example2.Example2。到目前为止,一切都很好。问题是java将如何找到该类。 Java将命令中的包声明转换为文件路径,在本例中为example2 / Example2.class。由于您的班级放在Example2.class而不是example2 / Example2.class,因此找不到它并导致错误。
要解决此问题,请创建一个名为example2的子目录,并将类文件放在其中。

08-16 05:07