V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

迷之报错 —— Java .lang.NoClassDefFoundError

  •  
  •   Antidictator · 8 天前 · 861 次点击

    同步别人的代码下来之后就一直报这个错误。代码应该是没有问题的,也不缺 jar 包之类的。 最后 clean and rebuild 了 n 遍之后竟然神奇的好了!!!然后重启电脑后又不行了。

    Publish 的时候会报 class 类找不到错误,有时候报被占用错误(就算是刚开机也有这种情况)。

    http://i.imgur.com/3Eyslim.png

    http://i.imgur.com/9z8WRuF.png

    http://i.imgur.com/YifXSWK.png

    第 1 条附言  ·  8 天前
    真的是。。。无力吐槽。。。电脑在公司域下面,然后昨天推送了卡巴斯基把我的 class 类给清除了。
    我是让别人给我发 class 文件在 QQ 目录都被清理了才发现的。真的是。。。好想爆粗。

    谢谢各位大佬,送上感谢。
    @sorra @fshuqing @LeeSeoung @zacard @Ouyangan @lonenol @EmdeBoas @1120101929 @xuqd
    14 回复  |  直到 2017-06-20 10:11:48 +08:00
        1
    Antidictator   8 天前




        2
    Antidictator   8 天前
    btw,新换了工作空间,或者换 ide,换成 sts 也是不行的。
        3
    sorra   8 天前   ♥ 2
    通常是由于 static 初始化失败。这个下面一般都有个 Caused by,请继续贴出来
        4
    errorlife   8 天前
    @sorra 1800 错误,我用这个号回复你。

    ```
    Caused by: java.lang.ClassNotFoundException: com.xxx.xxx.xxx.SecurityBillService
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734)
    ... 38 more
    ```
    表示看不出来个 12345,还是功力不够。麻烦看看谢谢了
        5
    fshuqing   8 天前   ♥ 1
    是不是这个类没配置成 src ?
        6
    LeeSeoung   8 天前   ♥ 1
    项目里有文件冲突,或者导错包。之前遇到过类似的问题是上面两个原因。
        7
    zacard   8 天前   ♥ 1
    mvn dependency:tree -Dverbose
    看看是否有依赖问题
        8
    Ouyangan   8 天前   ♥ 1
    具体项目中遇到这种情况不太好分析.
    有时候会遇到这种错误 , 第一步会 mvn clean install ,确认 target 中有有没有这个 class 文件.
        9
    lonenol   8 天前   ♥ 1
    感觉是包冲突了,加载了没有这个 class 的一个同名的包
        10
    EmdeBoas   8 天前   ♥ 1
    以前用 ZooKeeper 的时候也有过明明导了 jar 包却提示找不到,后面发现竟然是版本原因......
        11
    1120101929   8 天前   ♥ 1
    资源管理器->磁盘,第三列看下哪个进程在占用文件。
    看 build 目录下有没有这个 class 文件;看发布到 tomcat 中的 WEB-INF 目录下有没有这个 class 文件。
        12
    Antidictator   8 天前
    @fshuqing 没配置成 src 是什么意思呢?



    @zacard 旧项目不是用 maven 管理呢


    @Ouyangan
    @1120101929 我亲眼看到那个 class 文件存在然后一下子就自动消失了。。


    @lonenol 没有同名包的哦,同名的类名本身就会报错吧。


    @EmdeBoas 指 JDK 吗?
        13
    fshuqing   8 天前   ♥ 1
    尝试清理下 tomcat 目录,或者配置个新的 tomcat,有时候诡异的现象不好说,只能现场调试
        14
    xuqd   8 天前   ♥ 1
    曾经遇到过这个错的原因是
    是 class 文件中的包位置与 class 实际位置不符合
    用了自己开发的打包工具导致的,仅供参考
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2264 人在线   最高记录 2607   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.7.5 · 50ms · UTC 07:12 · PVG 15:12 · LAX 00:12 · JFK 03:12
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1