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在你自己的目录中部署战争.

感谢大家

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...