将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报告?
答案 0 :(得分:1)
我认为您使用的是使用CDI 1.0的JBoss版本(而不是使用CDI 1.1)。 由于javamelody中存在beans.xml和MonitoringCdiInterceptor,因此1.86之后JBoss / CDI版本与javamelody之间可能存在不兼容性。
因此,您可以将JBoss升级到使用CDI 1.1的版本或将javamelody降级为1.65.0。