gpt4 book ai didi

java - 通过命令行运行java代码时出现异常

转载 作者:行者123 更新时间:2023-11-29 09:50:59 25 4
gpt4 key购买 nike

我有一个简单的类

package chapter10;

public class CompilationTest {


public static void main(String[] args) {
System.out.println("HELLO WORLD");
}

}

路径是

Test\src\chapter10\CompilationTest.java

我成功地将代码编译到同一个文件夹中,现在我有了

Test\src\chapter10\CompilationTest.class

但是,当我尝试从同一个文件夹运行时,出现此错误

>java CompilationTest


Exception in thread "main" java.lang.NoClassDefFoundError: CompilationTest (wrong name: chapter10/CompilationTest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: CompilationTest. Program will exit.

当我运行时使用

>java chapter10/PropertiesTest

Exception in thread "main" java.lang.NoClassDefFoundError: chapter10/PropertiesTest
Caused by: java.lang.ClassNotFoundException: chapter10.PropertiesTest
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: chapter10/PropertiesTest. Program will exit.

最佳答案

该类位于chapter10 包中。从父目录运行它:

java chapter10.CompilationTest

转到父级的原因是 Java 正在搜索其包含当前目录的 CLASSPATH,以查找包含 CompilationTest.class 文件的 chapter10 目录。您也可以将 src 目录的绝对路径添加到 CLASSPATH 中以达到相同的效果:

set CLASSPATH=C:\...\Test\src
java chapter10.CompilationTest

或者(显然这是更好的风格)将 -cp 或 -classpath 参数添加到 java:

java -cp "C:\...\Test\src" chapter10.CompilationTest

关于java - 通过命令行运行java代码时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com