java - 静态内部类实例化 - ClassNotFoundException

标签 java static classnotfoundexception inner-classes

我在 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 类文件。

我错过了什么?

编辑: 我忘了说这个编译得很好。没有显示错误。它仅在我运行时显示。

最佳答案

In another project, I am instantiating the above class

这听起来像是您可能正在尝试从另一个包中创建实例。

内部类的可见性不能超过外部类的可见性。 Loc 不是公开的,因此您无法在另一个包中导入 Dat

关于java - 静态内部类实例化 - ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23231503/

相关文章:

java - 如何使用 SQL-lite 数据库检索 android studio 中的单选按钮组

ruby-on-rails - Rails 生产静态文件路由错误

python - Linux Apache Django 视频静态文件问题

java - 在 Java 中实现与 C++ 中的析构函数相同的结果

java - 无法在 android 4.1.2 中实例化 Activity ComponentInfo

spring - NoClassDefFoundError(javax/ws/rs/ProcessingException) 在 spring 服务中使用 Jersey lib

Java 服务器/客户端问题

java - 检测并报告已完成的 Java 下载

java - 在 Spring Boot 中是否有自定义部署路径的标准方法?

java - 在本地运行 Mahout 获取 MahoutDriver 的 ClassNotFoundException