为什么在运行以下代码时会收到"找不到或加载主类"?

Aus*_*n R 1 java classpath

我有以下目录结构:

C:\CheckinProject\sources\main\EmailProcessor.java<br/>
                         \compile-and-run.bat<br/>
                 \classes\main\EmailProcessor.class
Run Code Online (Sandbox Code Playgroud)

文件EmailProcessor.java包含以下内容:

package main;

public class EmailProcessor {
    public static void main(String args[]) {
        System.out.println();
    }
}
Run Code Online (Sandbox Code Playgroud)

文件compile-and-run.bat包含:

javac -d ..\classes main\EmailProcessor.java 
java -cp ..\classes ..\classes\main\EmailProcessor
Run Code Online (Sandbox Code Playgroud)

当我运行compile-and-run.bat时出现此错误:

Error: Could not find or load main class ..\classes\main\EmailProcessor
Run Code Online (Sandbox Code Playgroud)

为什么不能找到或加载我的主类?

Jon*_*eet 6

您正在指定..\classes\EmailProcessorJava是否需要文件名的主干.它没有 - 它想要一个完全限定的名.所以这应该工作:

java -cp ..\classes main.EmailProcessor
Run Code Online (Sandbox Code Playgroud)