Felix is the framework.

I do not have any PackageAdmin code.

I don't have a great way to make this available to you right now. I am
considering trying to switch to the cxf bean validation feature
instead of the code I posted.

I think the following is the most relevant backtrace:

Caused by: java.lang.ClassNotFoundException:
com.sun.el.ExpressionFactoryImpl not found by
org.apache.cxf.cxf-rt-transports-http [102]
at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558)
at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1919)
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:959)
at 
org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.java:176)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at 
org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.java:192)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at javax.el.FactoryFinder.newInstance(FactoryFinder.java:87)
at javax.el.FactoryFinder.find(FactoryFinder.java:197)
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:189)
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:160)
at 
org.hibernate.validator.internal.engine.messageinterpolation.InterpolationTerm.<clinit>(InterpolationTerm.java:60)




On Sun, Nov 8, 2015 at 1:11 PM, Benson Margulies <[email protected]> wrote:
> package:exports -d does not think that more than one bundle is
> exporting the package.
>
> Here's the class I built to stay out of the SPI.
>
> public final class OSGIValidationFactory {
>     private OSGIValidationFactory() {
>         //
>     }
>
>     static class OSGIServiceDiscoverer implements ValidationProviderResolver {
>
>         @Override
>         public List<ValidationProvider<?>> getValidationProviders() {
>             List<ValidationProvider<?>> providers = new ArrayList<>();
>             providers.add(new HibernateValidator());
>             return providers;
>         }
>     }
>
>     public static ValidatorFactory newHibernateValidatorFactory() {
>         javax.validation.Configuration<?> config =
> Validation.byDefaultProvider()
>                 .providerResolver(new OSGIServiceDiscoverer())
>                 .configure();
>
>         return config.buildValidatorFactory();
>     }
> }
>
>
> On Sun, Nov 8, 2015 at 1:10 PM, Benson Margulies <[email protected]> wrote:
>> Karaf 4.0.2.
>>
>> I'm not sure what you mean by 'framework'. I'm just running karaf, I
>> am not messing with the system bundle. I pulled together my own little
>> bundle for validation that uses a custom locator to avoid the SPI, and
>> it works in an isolated test in karaf, but when I put the whole thing
>> together, blam. How would I investigate the possibility of multiple
>> bundles?
>>
>>
>>
>> On Sun, Nov 8, 2015 at 1:06 PM, Jean-Baptiste Onofré <[email protected]> 
>> wrote:
>>> Hi Benson,
>>>
>>> don't you have multiple bundle providing the same package ?
>>> I suspect two bundles providing com.sun.el package (or the system package).
>>>
>>> What's the Karaf version (and framework in use) ?
>>>
>>> Regards
>>> JB
>>>
>>>
>>> On 11/08/2015 07:04 PM, Benson Margulies wrote:
>>>>
>>>> I'm getting a ClassNotFoundException trying to use bean validation.
>>>>
>>>> karaf@root>package:exports | grep com.sun.el
>>>> com.sun.el                                               | 2.2.4
>>>>       | 174 | org.glassfish.web.javax.el
>>>>
>>>> But:
>>>>
>>>> karaf@root> bundle:find-class com.sun.el.ExpressionFactoryImpl
>>>> karaf@root>
>>>>
>>>> even though the class is sitting right there in the jar file for that
>>>> bundle.
>>>>
>>>> karaf@root>bundle:classes 174 | grep Expr
>>>> com/sun/el/ExpressionFactoryImpl.class
>>>>
>>>> what's up?
>>>>
>>>
>>> --
>>> Jean-Baptiste Onofré
>>> [email protected]
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com

Reply via email to