“无法找到或加载主类”命令提示符

时间:2014-12-15 15:28:44

标签: java

我知道这个问题之前已被问过很多次,但我是一名新手程序员,尽管在这个网站上尝试了很多解决方案,我仍然无法解决这个问题。如果你能花时间弄清楚我做错了什么,我会非常感激。

操作系统:Windows 8

Java版本:1.8.0 update 25

我正在使用的命令提示符是Windows附带的命令提示符。 (我假设有其他类型,所以我只是让它更清楚。)代码是一个非常基本的代码。

package com.thefinshark.intro;

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

所以,首先我将目录更改为C:\javawork,其中保存了Welcome.java。我将路径设置为C:\Program Files\Java\jdk1.8.0_25\bin,然后编译代码。编译似乎很好,我在C:\javawork中找到了Welcome.class文件。然而,执行仍然返回"无法找到或加载主类欢迎"。我已尝试过C:\javawork>java WelcomeC:\javawork>java com.thefinshark.intro.Welcome以及其他各种变体。我还将类路径更改为C:\C:\javawork,但它仍然无法正常工作。有人在回答类似的问题时建议将dt.jar和tools.jar添加到类路径中,但没有骰子。

如果有人可以提供帮助,那就太棒了,而且我很乐意帮助将信息传递给其他有这类问题的人。 (正如我打字一样,我正在查看一长串相似的问题。)

1 个答案:

答案 0 :(得分:3)

目录结构必须与源文件的包名称匹配。因此,如果您的类位于包com.thefinshark.intro中,那么您的源文件必须位于com\thefinshark\intro目录中。

因此,例如,您应该将源文件保存为C:\javawork\com\thefinshark\intro\Welcome.java,然后从目录C:\javawork编译并运行它:

C:\javawork> javac com\thefinshark\intro\Welcome.java
C:\javawork> java com.thefinshark.intro.Welcome

注意:javac命令需要您正在编译的源文件的文件名com\thefinshark\intro\Welcome.java),而java命令需要完全限定的班级名称com.thefinshark.intro.Welcome)。

有关如何使用包的更多详细信息,请参阅Lesson: Packages