I just migrated from java6 --> java7. During compilation, I get a lot of errors pertaining to generic typing on classes from felix, version 4.0.2; I've put the compilation errors at the bottom of this message.
Here's something I found that suggests that the felix source might not be compiled with java 1.7? https://github.com/osgi/bindex/issues/11 Any thoughts? [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Compilation failure /support/FakeBundleContext.java:[28,31] error: type ServiceRegistration does not take parameters /support/FakeBundleContext.java:[39,39] error: type ServiceReference does not take parameters /support/FakeBundleContext.java:[45,28] error: type ServiceReference does not take parameters /support/FakeBundleContext.java:[19,7] error: FakeBundleContext is not abstract and does not override abstract method getServiceReferences(Class,String) in BundleContext /support/FakeBundleContext.java:[28,35] error: name clash: <S>registerService(Class<S>,S,Dictionary<String,?>) in FakeBundleContext and registerService(Class,Object,Dictionary) in BundleContext have the same erasure, yet neither overrides the other where S is a type-variable: S extends Object declared in method <S>registerService(Class<S>,S,Dictionary<String,?>) /support/FakeBundleContext.java:[27,1] error: method does not override or implement a method from a supertype /support/FakeBundleContext.java:[39,44] error: name clash: <S>getServiceReferences(Class<S>,String) in FakeBundleContext and getServiceReferences(Class,String) in BundleContext have the same erasure, yet neither overrides the other where S is a type-variable: S extends Object declared in method <S>getServiceReferences(Class<S>,String) /support/FakeBundleContext.java:[38,1] error: method does not override or implement a method from a supertype /support/FakeBundleContext.java:[45,32] error: name clash: <S>getServiceReference(Class<S>) in FakeBundleContext and getServiceReference(Class) in BundleContext have the same erasure, yet neither overrides the other where S is a type-variable: S extends Object declared in method <S>getServiceReference(Class<S>) /support/FakeBundleContext.java:[44,1] error: method does not override or implement a method from a supertype /support/FakeBundle.java:[17,7] error: FakeBundle is not abstract and does not override abstract method adapt(Class) in Bundle /support/FakeBundle.java:[186,1] error: method does not override or implement a method from a supertype /support/FakeBundle.java:[191,14] error: name clash: <A>adapt(Class<A>) in FakeBundle and adapt(Class) in Bundle have the same erasure, yet neither overrides the other where A is a type-variable: A extends Object declared in method <A>adapt(Class<A>) /support/FakeBundle.java:[190,1] error: method does not override or implement a method from a supertype [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5 seconds [INFO] Finished at: Tue Jun 26 10:51:00 MDT 2012 [INFO] Final Memory: 45M/510M [INFO] ------------------------------------------------------------------------

