尝试在cmd中运行java类时出错-找不到该类

尝试在cmd中运行java类时出错-找不到该类,java,cmd,Java,Cmd,我不确定这个问题是否属于这里,所以如果不属于这里,请告诉我 当我尝试使用命令java classname时,它给出了一个错误无法找到或加载主类,但是当我在Eclipse中编译它时,我没有得到这个错误,问题是我的cmd 当我进入项目所在的源目录,即C:\Users\hp\eclipse workspace\ServerMT\bin,并键入“dir”时,它们会列出我的类在其中,但当我运行命令时,它就不起作用了 现在我不知何故有了两个版本的java,jdk-13.0.2和jdk-15,都在progra

我不确定这个问题是否属于这里,所以如果不属于这里,请告诉我

当我尝试使用命令
java classname
时,它给出了一个错误
无法找到或加载主类
,但是当我在Eclipse中编译它时,我没有得到这个错误,问题是我的cmd

当我进入项目所在的源目录,即
C:\Users\hp\eclipse workspace\ServerMT\bin
,并键入“dir”时,它们会列出我的类在其中,但当我运行命令时,它就不起作用了

现在我不知何故有了两个版本的java,jdk-13.0.2和jdk-15,都在programs java文件夹中,我真的不知道使用哪一个,或者每一个都有效,或者这是否是问题的根源

我一直在更新环境变量,在jdk-15和jdk-13的环境变量之间切换,什么都不起作用,我真的不知道如何解决这个问题,已经尝试了一个星期,任何帮助都将不胜感激


当我运行命令
echo%CLASSPATH%
时,结果是
C:\Program Files\Java\jdk-15\lib*.jar
,但是当我在pc上搜索时,我找不到文件夹,我只找到C:\Program Files\Java\jdk-15。

除了路径之外,不需要任何环境变量,路径应该指向您想要的Java版本


尤其是,不要使用类路径。因此,您会阻止JVM在当前目录中查找您的类。

很多问题都会导致这样的情况,首先:

  • 如果类位于包中(强烈建议采用这种方式),则必须编写类似于
    javamypackage.MyClass
    ,并且必须位于类文件夹的根目录中(其中存在
    mypackage
    文件夹)

  • 你编译过你的源文件吗?您在那里看到了什么
    MyClass.class
    MyClass.java


我认为您是一个新手,正在尝试学习java,如果是这样的话,您可能不使用任何库,因此类路径变量可能不是您的问题,但是最好从环境变量中删除类路径。

导航到目录
C:\Users\hp\eclipse workspace\ServerMT\bin
,然后输入以下命令:

java -cp . ServerMT

有关详细信息,请参阅文档

这个问题和答案也可能有帮助。

在Eclipse中,应该出现JDK项目


您的类的完全限定域名是什么?(包名+类名)@jeroensteenbeek包被设置为默认值,类名是servermt命令的输出是什么:java--version?@yourheloper输出是java版本“1.8.0ď”是的,我是新手,我的类不在任何包中,它只是eclipse中的默认包,我编写了代码,它在eclipse上工作,当我在cmd中运行它并选中“dir”时,我看到了“Myclass,class”,但当我尝试键入java Myclass时,它不起作用,我删除了类路径,它仍然不起作用