1

我在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 项目文件夹(以及根据 D:\ExamplesFromBook\Example2 的项目布局)的类 example2.Example2。我通过命令行中的命令创建了字节码

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

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

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

因此收到错误

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

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

4

5 回答 5

0

更改您的 java 编译命令

编译使用 javac -d 。类名.java

使用包名运行 java 类文件

java packageName/className 或

java packageName.className

于 2013-01-02T10:58:17.793 回答
0

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

于 2013-01-02T10:58:29.013 回答
0

转到目录 D:\ExamplesFromBook\Example2\Example2\src\ 然后键入 java -cp D:\ExamplesFromBook\Example2\Example2\src example2.Example2

所有类文件所在的主目录应该在类路径中(在你的情况下是 D:\ExamplesFromBook\Example2\Example2\src )。或者,您也可以使用 Windows 环境变量设置类路径。一旦完成;您可以使用运行任何类文件

java <full qualified class name>

例如 java example2.Example2

于 2013-01-02T11:01:24.377 回答
0

你在这里

 D:\ExamplesFromBook\Example2\Example2\src\example2

当你编译

javac Example2.java

类将出现在 D:\ExamplesFromBook\Example2\Example2\src\example2

尝试 dir 并列出它们

  Dir D:\ExamplesFromBook\Example2\Example2\src\example2

现在要运行一个类,它必须在类路径中。查找将添加类的完全限定名称(点替换为 / )并在每个路径中搜索。在你的情况下

java -cp D:\ExamplesFromBook\Example2\Example2\src example2.Example

应该管用。

java 程序将在您提供的所有类路径下查找 example2/Example2.class。在wiki上查看更多详细信息

于 2013-01-02T13:49:06.833 回答
0

您是否尝试过将 .java 文件编译到另一个文件夹,以便像通常那样“构建”示例?

当 Netbeans 自动编译文件时,它会创建以下结构:

"proj_dir"/src/"package"/"code".java
"proj_dir"/build/classes/"package"/"code".class

尝试这样做,但手动。然后从命令行转到“build/classes”目录并输入:

  java“包”。“代码”

这是运行已编译的 java 代码的一般方法。

在您的情况下,它必须看起来像:

D:\ExamplesFromBook\Example2\Example2\src\example2\Example2.java
D:\ExamplesFromBook\Example2\Example2\build\classes\example2>Example2.class

执行此操作的 CMD 命令:

cd D:\ExamplesFromBook\Example2\Example2\src\example2
javac -d ..\..\build\classes Example2.java
cd D:\ExamplesFromBook\Example2\Example2\build\classes
java example2.Example2

它适用于简单的程序。

于 2013-01-03T10:49:06.327 回答