[ 
https://issues.apache.org/jira/browse/FELIX-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13012083#comment-13012083
 ] 

Chris commented on FELIX-1017:
------------------------------

Hi Stuart,

what exactly did you fix with last upgrade 0.0.357?

We have a similar issue and I'd like to hear your opinion. 
Shortened scenario:
Project with a service-api-module with pom that tells felix to create a 
MANIFEST.MF because we also use it in an Eclipse / equinox environment.
Felix omits import-package for a certain class 'Type' because no bytecode usage 
- (generic<Type>) erased.
Client fails to start because (a little bit complicated): Spring Bean creation 
there checks via org.aspectj.weaver.reflect... the generic type that it thinks 
it needs 'Type'.

My questions are: 
Is this fixed with your upgrade?
Is this more a bug of Spring checking too much?
We currently use a work-around declaring "Import-Package: Type" directly which 
is a little bit unsatisfactory since it could happen again any time and this 
'bug' was hard to find.

Best regards,
Chris

> Generic types ignored when generating MANIFEST.MF
> -------------------------------------------------
>
>                 Key: FELIX-1017
>                 URL: https://issues.apache.org/jira/browse/FELIX-1017
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.0.0
>            Reporter: Clovis Seragiotto
>            Assignee: Stuart McCulloch
>             Fix For: maven-bundle-plugin-2.0.1
>
>
> Generic information present in the bytecode is not considered when 
> MANIFEST.MF is generated. In the following example, the package "a" is not 
> included in the Import-Package list, which causes an Exception at runtime 
> (TypeNotPresentException)
> package b;
> import java.lang.reflect.*;
> import a.A;
> public class B {
>     java.util.List<A> list;
>     public static void main(String[] args) {
>        for(Field f : B.class.getDeclaredFields()) {
>            ParameterizedType type = (ParameterizedType)f.getGenericType();
>            for(Type t : type.getActualTypeArguments()) {
>                System.out.println(t); // <--- 
> java.lang.TypeNotPresentException: Type a.A not present
>            }
>        }
>     }
> }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to