微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.NoClassDefFoundError:在匿名内部类中

我在 Linux Red Hat上使用sun / oracle JVM 1.6_23在VMWare服务器中运行此代码.

有些时候,JVM似乎无法访问我的匿名内部类.

我的classpath很好,因为它可以工作一段时间.

我得到的只是这样的错误

java.lang.NoClassDefFoundError: com/mycompany/impl/MyClassImpl$1
at com.mycompany.impl.MyClassImpl.markAsDeletable(MyClassImpl.java:45).

第45行是下面的第一行,它找不到我的新谓词

DomaineVO domaineVO = Iterables.find(domainesVO,new Predicate<DomaineVO>() {

            @Override
            public boolean apply(DomaineVO input) {
                return input.getId().equals(domaine.getIdentifier().toString());
            }
        });

有任何想法吗 ?

解决方法

最后,我想我们可能已经指出了这个问题.

我们在jetty上运行此代码,我们使用.war文件自动部署.
认情况下,jetty使用java.io.tmpdir来部署.war文件.

我们的问题只出现在linux上,而且大部分是在早上(第一个办公室工作人员使用该应用程序时).

原因是在晚上清理/ tmp(由我们服务器上的LOGROTATE命令完成).

经验法则:永远不要使用/ tmp太长时间,并使jetty在你自己的目录中部署战争.

感谢大家

原文地址:https://www.jb51.cc/java/129640.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐