我正在我的包programapper
中创建Java文件,并且package programapper;
位于每个文件的顶部。其中一个文件名为TestMain.java
:
package programapper;
import java.util.*;
import java.util.List.*;
import java.lang.*;
import java.io.*;
class TestMain {
public static void main(String args[]) {
String filename = null;
System.out.print("File to read: ");
Scanner in = new Scanner(System.in);
}
}
每当我编译时,我都会运行
javac -d . *.java
这编译得很好,我在我的主Programapper /目录中留下了所有的.java文件,然后我有Programapper / programapper,我的所有类文件都存储在其中。
我无法加载该类并运行其主函数。我正在使用
java -classpath .:programapper/ programapper.TestMain
我也尝试过使用
java -classpath .:programapper/ TestMain
我收到的错误是Error: Could not find or load main class programapper.TestMain
答案 0 :(得分:2)
您需要制作课程public
:
public class TestMain {
...
如果省略可见性,则只能从同一个包中的类访问该类。这对主要班级来说还不够。
此外,您需要将classpath指定为“。”,而不是仅指定类名。并指定包括包的完整类:
java -classpath . programapper.TestMain