gpt4 book ai didi

tomcat - Tomcat7 关闭期间出现 Cobertura NoClassDefFoundError 错误

转载 作者:行者123 更新时间:2023-11-28 21:50:19 41 4
gpt4 key购买 nike

我使用的是最新的 Cobertura 2.0 jar,并已完成这里定义的设置 https://stackoverflow.com/a/5319237/870392 .

在我尝试关闭 tomcat(版本 7)以收集覆盖率数据时执行我的测试用例后,出现以下错误:

Exception in thread "Thread-2" java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/TouchCollector$ApplyToClassDataLightClassmapListener
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:70)
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:58)
at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:324)
at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:34)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector$ApplyToClassDataLightClassmapListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 5 more

一些额外的观察

  1. 引用的类存在于 Cobertura jar 文件中。

  2. 缺少的类是静态嵌套类cobertura github code

  3. 早期的 cobertura 版本有一个与此相关的错误引用 3 March 2010, 1.9.4.1

我可以做任何快速修复,然后从源代码重建 cobertura 来解决这个问题吗?

更新:

在进一步的试验和错误中,它看起来与关闭 Hook 有关。我将 cobertura.jar 移到了 tomcat7/lib 而不是 WEB-INF/lib,这意味着 jar 现在可用,直到稍后tomcat 关闭。结果,之前的 Cobertura NoClassDef 错误消失了,但我的应用程序中的类出现了 NoClassDef 错误(大概是因为 cobertura 开始尝试为每个类编写覆盖率数据)。 Cobertura 线程崩溃,ser 文件未更新。

最佳答案

我认为这是 Cobertura 中的一个问题:

https://github.com/cobertura/cobertura/issues/180

关于tomcat - Tomcat7 关闭期间出现 Cobertura NoClassDefFoundError 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17294177/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com