今天在終端嘗試使用java命令編譯class文件時(shí)出現(xiàn)了“找不到或無法加載主類”的問題
image
原因是包名的影響:
package chapter19;
import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
public class DirList {
public static void main(String[] args) {
File path = new File(".");
String[] list;
list = path.list(new DirFilter(args[0]));
for(String dirIterm: list){
System.out.println(dirIterm);
}
}
}
class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex) {
this.pattern = Pattern.compile(regex);
}
@Override
public boolean accept(File dir, String name) {
return pattern.matcher(name).matches();
}
}
應(yīng)該在最外層包所在的上層目錄使用java 類的全名,也即java 包名+類名的方式 執(zhí)行命令

image.png
詳細(xì)解析可參考使用java命令運(yùn)行class文件提示“錯(cuò)誤:找不到或無法加載主類“的問題分析 - 大C - 博客園