java.lang.ClassFormatError: Illegal class name "[L[Ljava/lang/String;;" in clas

tomcat启动后,报

End CacheManager init
Exception in thread "CACHEDDAOFACTORY_INIT2" java.lang.ClassFormatError: Illegal class name "[L[Ljava/lang/String;;" in class file com/huawei/iread/portal/engine/PortalEngine
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at com.huawei.iread.cache.inittask.MarketingAdaptingRuleInitTask.run(MarketingAdaptingRuleInitTask.java:55)
        at com.huawei.uniportal.utilities.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
        at java.lang.Thread.run(Thread.java:662)

 

 

很纠结,什么都没改啊,就弄了几个类。

未果,上网查询后,需要配置一个参数。

好吧,配就配吧。

找到catalina.sh

加上-Xverify:none这个参数

 

JAVA_OPTS="$JAVA_OPTS -server -Xmn1024M -Xms2048M -Xmx2048M -Xverify:none -Djava.net.preferIPv4Stack=true  -Djava.awt.headless=true -XX:PermSize=512M -XX:MaxPermSize=512M  -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSPermGenSweepingEnabled  -XX:+CMSClassUnloadingEnabled -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=90 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:gc.log -XX:+PrintGCDetails -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=39091 -Dcom.sun.management.jmxremote.ssl=false"

 

OK 解决。

 

但是不想就这么解决啊。

 

 

最后猜测为该文件PortalEngine.java编译问题或者编译版本问题。因为当时使用tomcat发布之后,在webapps下class目录下取的。

故用本工程的build.xml进行编译。

将两个class文件进行对比,在编译上的确有某些差异。当然无法确定这就是最终问题的所在。

最后用jdk6.0  换build.xml进行编译,实际上这里也就是javac的命令了。打包完成之后,搞定。

虽然搞定了,但是无法知道到底什么原因,牵强的解释为编译问题吧。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值