繁体   English   中英

如何修复在包中移动我的java文件后出现的错误“java.lang.NoClassDefFoundError”?

[英]How can I fix the error “java.lang.NoClassDefFoundError” that has occured after moving my java files in packages?

好的,所以我正在学习Java,并且刚刚将我的所有测试文件移动到包含头文件的不同文件夹中。 然而,编译器声明了错误java.lang.NoClassDefFoundError。

类文件显然在那里,但却找不到它?

我正在使用VS Code是有帮助的。 这些文件在Intellij中运行,但我正在尝试了解VS Code,因为它是一个很好的“四周”编辑器。

我看了一遍,但其他人经历的症状与我的不同。

package loops;

public class EnhancedForLoop {
public static void main(String []args) {
    int [] numbers = {5, 10, 15, 20, 25};
    for(int x : numbers ) {
        System.out.println( x + "," );
    }

    System.out.println("\n");


    String [] names = {"Kettle", "Pot", "Cup", "Jug"};
    for(String name : names) {
        System.out.println(name + ",");
    }
}
}

就像我说的,这应该运行良好。 但移动文件后它没有:(。

完整的错误消息是:

[Running] cd "c:\Users\nickr\Documents\VS Workspace\Project 1\src\loops\" && javac EnhancedForLoop.java && java EnhancedForLoop
Error: Could not find or load main class EnhancedForLoop
Caused by: java.lang.NoClassDefFoundError: loops/EnhancedForLoop (wrong name: EnhancedForLoop)

也许你可以使用-verbose来查看细节。

cd "c:\Users\nickr\Documents\VS Workspace\Project 1\src\loops\" && javac EnhancedForLoop.java && java -verbose EnhancedForLoop

我认为java在类路径中找不到EnhancedForLoop,因为你没有设置类路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM