我用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 FilesJavajdk1.8.0_40
Path=%JAVA_HOME%bin;%JAVA_HOME%jrebin;
CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar
我的问题是,如果我仍然想保留包声明,如何运行我的程序?
如果你想把你的主类放到一个包中,那么你还必须在运行它时给出这个包的名字:
java com.sample.test.HelloWorld
并且您必须确保可以找到类文件。不能从包含 HelloWorld.class
的目录中运行java
。您必须从包含 com
文件夹的目录运行它(或调整类路径)。