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)