作为软件发展的一部分,我正在尝试将Spring的配置从XML迁移到基于注释的配置(我发现操作某些配置元素更容易)。
看一看这个问题,我可以发现,显然Spring总是会使用CGLIB来增强@Configuration类,然后CGLIB似乎不会很好地处理签名的jars,因为它动态创建的类与原始的驻留在同一个包中。
有没有人想出了在签名jars中使用Java配置的方法?
PS:我仔细检查了一下包名是否存在于其他地方;)
发布于 2015-03-21 01:14:42
在Spring JIRA (https://jira.spring.io/browse/SPR-12833)上提出了同样的问题后,似乎CGLIB和签名jars之间确实存在冲突,从而影响了基于Spring的应用程序。
也就是说,一种简单的解决方法是在类上使用@Component注释,而不是@Configuration。我不是100%确定副作用可能是什么,但它对我来说很好。
发布于 2015-08-17 05:19:12
我在使用CGLIB的AOP代理中遇到了类似的问题。我深入挖掘了一下,发现这个问题在原始的CGLIB库中已经解决了。我希望spring团队能将它合并到他们的CGLIB版本中。在他们解决这个问题之前,我使用ApplicationContext的自定义类加载器来解决这个问题,但禁用了安全检查。我用my blog描述了这个解决方案,我希望它能对某些人有用。
https://stackoverflow.com/questions/29162865
复制相似问题