为什么我的helloworld程序无法使用命令行'> java HelloWorld'运行?

时间:2016-02-24 03:51:38

标签: java

我使用java语言编写一个简单的程序,然后尝试在Windows控制台上编译并运行它,编译没问题,但是当我尝试使用命令行'> java HelloWorld'运行它时,控制台报告'错误:无法找到或加载主类',这是我的代码(c:\ Sample \ HelloWorld.java),如下所示:

package com.sample.test;

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

如果我注释掉“package com.sample.test”这一行,请再次尝试编译并运行命令行,一切正常,我无法理解为什么。以下是我的计算机中的环境变量:

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

我的问题是,如果我仍想保留包装声明,我该如何运行我的程序?

1 个答案:

答案 0 :(得分:1)

如果您想将主类放入包中,那么在运行它时您还必须提供该包名称:

java com.sample.test.HelloWorld

您必须确保可以找到类文件。您无法从包含java的目录运行HelloWorld.class。您必须从包含com文件夹的目录运行它(或调整您的类路径)。