You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicemix.apache.org by "Nick Clarke (JIRA)" <ji...@apache.org> on 2016/03/17 09:38:33 UTC
[jira] [Created] (SM-2903)
org.apache.servicemix.bundles.spring-webmvc does not have Import-Package
for org.springframework.cglib.reflect
Nick Clarke created SM-2903:
-------------------------------
Summary: org.apache.servicemix.bundles.spring-webmvc does not have Import-Package for org.springframework.cglib.reflect
Key: SM-2903
URL: https://issues.apache.org/jira/browse/SM-2903
Project: ServiceMix
Issue Type: Bug
Components: bundles
Reporter: Nick Clarke
org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-webmvc:4.2.4.RELEASE_1 does not have Import-Package for {org.springframework.cglib.reflect}.
This causes it to fail at runtime for some code paths using spring annotation config and MVC, because a class from that package is loaded via reflection - see below.
It does already have imports for other cglib packages because they're used directly, so the package-time bytecode scanner found them:
{code}
org.springframework.cglib.core
version="[4.2.4.RELEASE,4.3)"
resolution:=optional
org.springframework.cglib.proxy
version="[4.2.4.RELEASE,4.3)"
resolution:=optional
{code}
What breaks? org.springframework.cglib.core.AbstractClassGenerator.create fails when using spring-mvc with annotation config. (AbstractClassGenerator gets invoked by org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept, and tries to load org.springframework.cglib.reflect.FastClass via reflection, which fails because the package isn't imported)
Fix: add a line here: https://github.com/apache/servicemix-bundles/blob/master/spring-webmvc-4.2.4.RELEASE/pom.xml#L86
...with an explicit import for this package:
{code}
org.springframework.cglib.reflect;version="[${pkgVersion},4.3)";resolution:=optional,
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)