Java类路径:错误的类文件:包含错误的类

时间:2019-04-22 12:24:05

标签: java compiler-errors package

我具有以下项目结构:

MyProject
    +-Main.java
    +-package1
        +-ClassA.java
        +-package2
            +-ClassB.java
            +-ClassC.java

javac *.java文件夹中使用MyProject进行编译后,.class文件将在相应.java文件所在的文件夹中创建。

这是我的Main.java文件的概述:

import package1.*;
import package1.package2.*;

class Main {

    public static void main(String[] args) {
        ClassB test = new ClassB();
    }

}

这是我在编译时遇到的错误:

Main.java:15: error: cannot access ClassB
        ClassB test = new ClassB();
        ^
  bad class file: ./package1/package2/ClassB.class
    class file contains wrong class: package2.ClassB
    Please remove or make sure it appears in the correct subdirectory of the classpath.

我已确保程序包结构与文件夹匹配。

此外,我尝试使用手动编译项目

javac -cp package1/package2 package1/package2/*.java
javac -cp package1 package1/*.java
javac -cp . Main.java

不幸的是,它会产生相同的错误。

我的判断是此问题是由package2中.class文件的位置引起的,编译器似乎无法正确处理该文件,但我不确定如何修改我的项目结构。

0 个答案:

没有答案