我在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的子目录,并将类文件放在其中。