我在jar中有以下类
public class Loc {
public static class Dat {
private int x, y;
public Dat(int x, int y) {
this.x = x;
this.y = y;
}
}
}
在另一个项目中,我像这样实例化上面的类:(我正在导入上面的类)
Loc.Dat data = new Loc.Dat(19,10);
但是我在日志中看到以下错误。 (不显示在tomcat服务器控制台中)
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/myservice]
threw exception [Handler processing failed; nested exception is
java.lang.NoClassDefFoundError: org/company/manage/serv/Loc$Dat]
with root cause
java.lang.ClassNotFoundException: org.company.manage.serv.Loc$Dat
我进入了WebApps文件夹并打开了jar文件。我看到了Loc和Loc $ Dat类文件。
我错过了什么?
编辑: 我忘了说这编译好了。没有显示错误。它仅在我运行时显示。
答案 0 :(得分:2)
在另一个项目中,我正在实例化上面的类
这听起来好像你可能正在尝试从另一个包中创建一个实例。
内部类的可见性不能超过外部类的可见性。 Loc
不公开,因此您无法在另一个包中导入Dat
。