高手速来,JNLP发布项目与CGLIB动态代理

nicholasbobo 2013-03-01 04:05:28
我们的项目采用JNLP的方式发布和访问,所以项目的包都会签名,我们一般将第3方的JAR包都直接放到JRE的LIB\EXT目录下,但是在调用到但使用了CGLIB动态代理的类时,会报签名信息不一致的错误。在将JRE下cglib的jar文件删除后,并在项目打包时一并打入CGLIB的JAR文件后,此问题不存在。我想请教的是在CGLIB放在JRE下,而项目包不打入CGLIB的JAR文件时有没有办法解决签名不一致的问题
...全文
117 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicholasbobo 2013-03-01
  • 打赏
  • 举报
回复
也不是不想放在项目包,只是想问放在项目包跟放在JRE下面的区别,然后如果放在JRE下有办法解决这种问题不
bluemoby 2013-03-01
  • 打赏
  • 举报
回复
签名不一致应该是因为使用的classloader不一样造成的。你可以尝试在调用cglib的方法的时候传入合适的classloader,应该没其他办法。只是为什么不直接放在项目包里面呢?
nicholasbobo 2013-03-01
  • 打赏
  • 举报
回复
这个跟JDK代理应该没有关系哦,看错误应该是CGLIB动态生成的代理类的签名跟项目包的签名不一致而产生的问题
  • 打赏
  • 举报
回复
CGLIB的代理机制是面向普通的类,而jdk的代理是面向接口的,所以可能会有冲突。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧