声明的包 <package name> 与 VS 代码中预期的包“”不匹配

The declared package <package name> does not match the expected package "" in VS code

这是我尝试在一个简单的程序中打包时在 VS 代码中遇到的错误

The declared package "mypack" does not match the expected package "" Java(536871240)

Aclass java 文件被编译。但是在编译 Bclass java 文件后它给出了这个编译时错误

这是Aclassjava文件代码

package mypack;

class A {
    void MethodA() {
        System.out.println("This is class A");
    }
}

class Aclass {
    public static void main(String args[]) {
        A a = new A();
        a.MethodA();
    }
}

这是Bclass java文件代码

import mypack.*;

class B {
    void MethodB() {
        System.out.println("This is class B");
    }
}

class Bclass {
    public static void main(String args[]) {
        B b = new B();
        b.MethodB();
        A a = new A();
        a.MethodA();
    }
}

The declared package "mypack" does not match the expected package "" Java(536871240)

这是因为您没有将 .java 个文件放入文件夹 mypack

第二个错误是Bclass.java中有BA,但是编译命令没有包含,所以要编译多个java命令文件

javac -d ./ mypack\*.java

然后按javac mypack.Bclass执行,可以得到正确的结果:

您只需要在 Visual Studio 代码 的 资源管理器选项卡中右键单击下面的文件,然后 Select 删除文件夹 来自 java 源路径。

这对我很有帮助,现在没有问题了。

再次记住,右键单击 > 从 java 源路径中删除文件夹