【发布时间】:2021-08-17 13:20:57
【问题描述】:
Java 程序
文件位置:..\new1\packageEG\B.java
package packageEG ;
public class B
{
public void display()
{
System.out.println("B") ;
}
}
文件位置:..\new1\C.java
package new1 ;
import packageEG.B ;
public class C
{
public void display()
{
B b = new B() ;
b.display() ;
}
}
文件位置:..\A.java
import new1.C ;
public class A
{
public static void main(String[] args)
{
C c = new C() ;
c.display() ;
}
}
文件夹视图
../
A.java
new1/
C.java
packageEG/
B.java
它有嵌套包,一个包在另一个包中。
当我编译主类时,即“A”,它编译成功,但是当我运行这个程序时,它显示以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: packageEG/B
at new1.C.display(C.java:7)
at A.main(A.java:7)
Caused by: java.lang.ClassNotFoundException: packageEG.B
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 2 more
请帮我解决这个错误。
【问题讨论】:
-
你在同一个模块中有所有这些类吗?是否可以共享一个复制器项目?
-
我在每个代码 sn-p 之前都提到了文件位置,为简单起见,我添加了文件夹视图。希望这能有所帮助。
标签: java package dependencies noclassdeffounderror