部分报错信息如下:
java.lang.ArrayIndexOutOfBoundsException: 30305
at org.objectweb.asm.ClassReader.readUnsignedShort(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
本人SSH项目是使用maven管理的,之前没有这个问题,一次在引入了Druid之后,莫名报了这个错,虽然不影响使用,但每次启动都报这个错,看着让人闹心,故花了近3个小时时间才把这个问题搞定。经过各种解决方案的验证和排除,最后一句话说明下解决方案:
将Jetty升级到 9.x 版本即可。
maven中相关配置如下:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.2.v20150730</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<httpConnector>
<port>8888</port>
</httpConnector>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
</webAppConfig>
</configuration>
</plugin>
我原来使用的jetty版本是8.x,升级到9之后发现相关端口不起作用了。9.x与8.x关于这个的配置是不一样的,我以上的配置是jetty9.x的配置。
本文希望遇到同样问题的朋友做个参考。