cmd中的java.lang.NoClassDefFoundError

cmd中的java.lang.NoClassDefFoundError,java,Java,当我试图通过编写java文件名来运行我的java文件时,我遇到了这个问题 我已经在很多页上阅读了可能的纠正方法,但不幸的是,我一直无法纠正我的问题 首先,我查看了我的环境变量,发现没有类路径集,并且我正确地将路径指向了我的jre以及C中的jdk bin:\ 其次,我能够运行javac filename.java,并观察到.class文件是在本地目录中构建的 在编写javac-classpath时。文件名用于编写java-classpath。filename(不带.class)会导致相同的错误 我

当我试图通过编写java文件名来运行我的java文件时,我遇到了这个问题

我已经在很多页上阅读了可能的纠正方法,但不幸的是,我一直无法纠正我的问题

  • 首先,我查看了我的环境变量,发现没有类路径集,并且我正确地将路径指向了我的jre以及C中的jdk bin:\

  • 其次,我能够运行javac filename.java,并观察到.class文件是在本地目录中构建的

  • 在编写javac-classpath时。文件名用于编写java-classpath。filename(不带.class)会导致相同的错误

  • 我只是不知道如何在命令提示符下运行我的程序!!!! 请不要给我提供与我上面提到的答案相同的页面链接,因为它们在我的情况下不起作用


    请帮助……

    注意,如果您的类驻留在某个包
    mypackage
    中,则需要确保类文件位于
    mypackage/
    中,并且

    java -classpath . mypackage.YourClass
    

    在你的帖子里有一点信息。。。如前所述,一个完整的例子将真正有助于解决这个问题。一些想法:

    • 类是否命名为
      文件名
      ?如果没有,您应该确保在java命令中调用正确的类名
    • 如果类名中有奇怪的字符(基本上除了A-Z、A-Z、0-9、Z之外的任何字符),它可能会被文件系统弄乱,从而导致
      java
      无法找到它。确保类名与文件名相同
    • 如果使用包,请确保包名与文件结构一致(有关一些示例,请参阅带有标记包的最新问题)
    • 你们班是公开课吗?如果没有,就这样做。(不过,这会产生另一个错误。)

    声明javac filename.java和java filename对于这真的是不够的

    我们还需要知道filename.java的内容或至少前几行

    这是声明类的预期方式

     public class Filename {
        }
    
    考虑到您的示例,这就是它的工作方式:java filename

     public class filename {
        }
    
    这也可能存在,但你可能只是在和我们开玩笑:)


    总的来说,不管文件系统上的文件名是什么,类都有一个名称,这是java命令所期望的名称。我建议使用大写首字母形式,因为它更清楚imo

    您的类是否在包中(即在文件开头使用“package x.y.z”decl)?我建议您提供一个SSCCE以及命令的确切输出。“简短、自包含、正确的示例”不建议使用默认包。把它放在一个包裹里。
    public class SomethingElse {
    }