com.sun.media.jai.util is sealed.什么意思

本文分析了JBoss 4.0.5、Tomcat 6.0.30和Jetty 7.1.20的Classloader机制,探讨了类加载问题,特别是针对类找不到或冲突的情况。作者通过实例解释了为何在JBoss中运行正常但在Jetty中出现问题,原因是jar包的密封性导致的类加载冲突。解决方案是删除冲突的jar包并重新打包。
摘要由CSDN通过智能技术生成

https://blog.csdn.net/weixin_34014555/article/details/90689913:主流web容器(jetty,tomcat,jboss)的classloader机制对比和相关问题分析

上面的情形可以说基本都是对应的class , method等找不到,或者类冲突等问题,一看就是比较典型的classloader引发的问题。

下面就来看看对容器classloader机制的分析和对比,相信大家了解了相关classloader机制微妙的区别后,基本也能解析这一类问题了

(1)jboss4.05 classloader机制

(2)tomcat6.0.30 classloader机制 

(3)jetty7.1.20 classloader机制

理清了sealed的含义,再看一下出错的堆栈:com.sun.media.jai.util,这个类是jai相关处理

  • jai_core.jar
  • jai_codec.jar
  • jai_imageio.jar

几个jar包的META-INF/MANIFEST.MF中都定义了sealed :true。而我们的应用中刚好有两个jar包,那为什么在jboss运行中没问题,jetty运行却出了问题呢?

 

 

我的做法是:删除jai_xxx.jar,重新打包war包,放到jetty的webapp下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值