JavaMelody 1.68.0 - JBoss找不到iText类

时间:2017-07-05 12:09:13

标签: java jboss ivy java-melody

将JavaMelody更新到最新版本(之前使用的是版本1.62.0)后,JBoss 6会在启动时记录错误。

我在ivy.xml中有两个依赖项

<dependency org="net.bull.javamelody" name="javamelody-core" rev="1.68.0" transitive="false" conf="ear-lib->default"/> 
<dependency org="org.jrobin" name="jrobin" rev="1.5.9" transitive="false" conf="ear-lib->default"/>  

并且它们都作为application.xml中的模块

<module> 
    <java>lib/javamelody-core-1.68.0.jar</java> 
</module> 
<module> 
    <java>lib/jrobin-1.5.9.jar</java> 
</module>

启动时JBoss 6抛出以下异常:

Error installing to Start: name=vfs:///C:/app/jboss-6.0.0.Final/server/default/deploy/intern.ear_WeldBootstrapBean state=Create: com.google.common.collect.ComputationException: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class net.bull.javamelody.internal.web.pdf.PdfAbstractReport  
...
Caused by: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class net.bull.javamelody.internal.web.pdf.PdfAbstractReport 
...
Caused by: java.lang.NoClassDefFoundError: Lcom/lowagie/text/Document;  
...
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.Document from BaseClassLoader@2f432a6b{vfs:///C:/app/jboss-6.0.0.Final/server/default/deploy/intern.ear}

如果我将iText添加到ivy.xml和应用程序.xml,我会收到另一个错误,即无法找到类WriteListener

这个问题似乎与引入PDF报告有关。有没有办法从JavaMelody中排除PDF报告?

1 个答案:

答案 0 :(得分:1)

我认为您使用的是使用CDI 1.0的JBoss版本(而不是使用CDI 1.1)。 由于javamelody中存在beans.xmlMonitoringCdiInterceptor,因此1.86之后JBoss / CDI版本与javamelody之间可能存在不兼容性。

因此,您可以将JBoss升级到使用CDI 1.1的版本或将javamelody降级为1.65.0。