无法找到或加载主类Java,但javac可以工作

无法找到或加载主类Java,但javac可以工作,java,cmd,Java,Cmd,正如您从所附图片中所看到的,与之前遇到此问题的所有其他人不同,我确实将我的java文件夹放在了paths环境变量中,因为javac工作正常,但java找不到指定的文件,并且我也没有在末尾添加.class扩展名 我还尝试手动将-sp包含到文件中,但后来我遇到了一个拒绝访问错误,即使文件夹和类位于桌面上,这是我的家用计算机,所以我是唯一的管理员。您的java类需要一个main方法才能运行。结果表明,我所需要做的只是在上面的目录中,不在与Main.class完全相同的目录中 希望这对其他人有所帮助。J

正如您从所附图片中所看到的,与之前遇到此问题的所有其他人不同,我确实将我的java文件夹放在了paths环境变量中,因为javac工作正常,但java找不到指定的文件,并且我也没有在末尾添加.class扩展名


我还尝试手动将
-sp
包含到文件中,但后来我遇到了一个拒绝访问错误,即使文件夹和类位于桌面上,这是我的家用计算机,所以我是唯一的管理员。

您的java类需要一个main方法才能运行。

结果表明,我所需要做的只是在上面的目录中,不在与Main.class完全相同的目录中


希望这对其他人有所帮助。

Java在CLASSPATH环境变量中列出的目录中搜索类(如果不使用
-jar
选项)。此变量的默认值(如果未定义)为“.”-实际目录。这就解释了为什么您必须更改到
…\src
目录。但是您也可以像中那样设置类路径

set CLASSPATH=C:\Users\Emanuel\Desktop\LetterCounter\src

java Counter.Main
或者只需使用
-cp
(或
-classpath
)选项:

有关更多详细信息,请参阅和


注意:按照惯例,包名都是小写的

您可以共享类的定义吗?具体来说,它在哪个包中?您的主要源代码中有什么?对于StackOverflow来说这是一个太基本的问题如果
Counter
是一个包,那么您需要在上面的目录中。你应该学习“类路径”的概念,你的主类是否有一个正确的“主”方法?
java -cp C:\Users\Emanuel\Desktop\LetterCounter\src Counter.Main