我使用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
我的问题是,如果我仍想保留包装声明,我该如何运行我的程序?
答案 0 :(得分:1)
如果您想将主类放入包中,那么在运行它时您还必须提供该包名称:
java com.sample.test.HelloWorld
您必须确保可以找到类文件。您无法从包含java
的目录运行HelloWorld.class
。您必须从包含com
文件夹的目录运行它(或调整您的类路径)。