gpt4 book ai didi

Java/JSF/Tomcat/Spring - 代理对象具有与原始对象不同的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:11 27 4
gpt4 key购买 nike

今天我遇到了这个真正困扰我的问题,因为几乎代码已经可以工作了(即使在恢复到旧版本后也停止工作)。

我正在访问 Facelets 页面上的 Spring-Bean。 Spring 将这些对象包装在代理中以使用方面和其他一些东西。

问题是,我在尝试访问 bean 的属性时遇到异常。异常是这样的:

javax.el.PropertyNotFoundException: /customers.xhtml @23,27 value="#{customerBean.customer}": Property 'customer' not found on type $Proxy88

我确定 (!!) 那里有相应的 getter/setter 方法。到目前为止我尝试过的事情:

  • 将应用程序部署到另一个 tomcat 安装
  • 清除所有 tomcat 缓存,webapp 目录
  • 清理 eclipse 项目
  • 使用 javap 检查相应的方法(以及那里的方法/属性)
  • 改变bean的范围
  • 更改bean的类名
  • 更改spring bean-id
  • 更改bean的serialVersionUID

无论我做什么,类加载器都无法正确包装或加载该类。

有人知道什么会导致这样的问题吗?我不知道还能尝试什么,所以非常感谢任何建议!

提前致谢!

问候,罗伯特

最佳答案

我还使用 Tomcat 7、JSF 2、Spring 3、Spring Security 3。我有同样的问题。更改编织配置没有帮助。

我最终的解决方案是在 spring 配置中添加一行:

<aop:aspectj-autoproxy proxy-target-class="true"/>  

你的类路径中需要 CGLIB。
希望这对某人有帮助。 :)

关于Java/JSF/Tomcat/Spring - 代理对象具有与原始对象不同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6460599/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com