the latest versions of org.apache.sling.jcr.resource come with a direct 
dependency to oak, which is declared as "provided", so it's not automatically 
present in your unit tests.

sling-mock itself references an older jcr.resource withouth this dependency, so 
this normally works. i assume you reference a newer version of jcr.resource in 
your project, so you have to add a dependency to org.apache.jackrabbit.oak-jcr 
as well.

stefan

>-----Original Message-----
>From: Nicolas Peltier [mailto:npelt...@adobe.com.INVALID]
>Sent: Thursday, July 6, 2017 10:21 AM
>To: users@sling.apache.org
>Subject: [mocks] weird RT exception with JCR_MOCK
>
>Hi,
>
>When adding o.a.s.jcr.resource to sling pipes (for JcrResourceConstants),
>mocks fail to run with exception [0]. I started playing around with
>exclusions and dependency without success and figured out I could ask here
>if anybody had this issue before.
>
>Any clue?
>Nicolas
>
>[0] Caused by: java.lang.NoClassDefFoundError:
>org/apache/jackrabbit/oak/jcr/observation/filter/OakEventFilter
>       at
>org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.regis
>terListeners(JcrResourceProvider.java:197)
>       at
>org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.start
>(JcrResourceProvider.java:161)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler.ac
>tivate(ResourceProviderHandler.java:53)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.ac
>tivate(ResourceProviderTracker.java:282)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.re
>gister(ResourceProviderTracker.java:173)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.ac
>cess$200(ResourceProviderTracker.java:58)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.
>addingService(ResourceProviderTracker.java:123)
>       at
>org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracke
>r.java:941)
>       at
>org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracke
>r.java:870)
>       at
>org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>       at
>org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183
>)
>       at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)
>       at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
>       at
>org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.ac
>tivate(ResourceProviderTracker.java:127)
>       at
>org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.act
>ivate(ResourceResolverFactoryActivator.java:485)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6
>2)
>       at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>l.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at
>org.apache.sling.testing.mock.osgi.OsgiServiceUtil.invokeMethod(OsgiService
>Util.java:311)
>       ... 33 more

Reply via email to