Kie Scanner always throwing RepositorySystem not found exception using plexus based maven parser

109 views
Skip to first unread message

Lucie Zhao

unread,
Apr 28, 2016, 10:21:49 AM4/28/16
to Drools Usage

I'm trying to integrate Drools into my Spark Streaming job (Drools 6.3.0.Final and Spark 1.6.1 with Hadoop 1) and I've been getting the following errors in my code.  This error happens when I include the scanner :


      KieServices ks = KieServices.Factory.get();

      ReleaseId releaseId = ks.newReleaseId("test", "test", "LATEST");

      KieContainer kieContainer = ks.newKieContainer(releaseId);

      KieSession kSession = kieContainer.newKieSession();

       

//error is thrown on the next line        

      KieScanner kScanner = ks.newKieScanner(kieContainer);

      kScanner.scanNow();


      kSession.fireAllRules();

      kSession.dispose();


here's the stack trace:


16/04/27 22:50:32 INFO MavenEmbedderUtils: Not in OSGi: using plexus based maven parser

16/04/27 22:50:32 WARN Sisu: Error injecting: org.apache.maven.execution.DefaultMavenExecutionRequestPopulator

com.google.inject.ProvisionException: Guice provision errors:


1) No implementation for org.apache.maven.repository.RepositorySystem was bound.

  while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator


1 error

at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)

at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)

at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)

at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)

at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)

at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)

at org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)

at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)

at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)

at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)

at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)

at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)

at com.google.inject.Scopes$1$1.get(Scopes.java:59)

at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)

at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)

at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)

at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)

at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)

at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)

at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)

at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:246)

at org.kie.scanner.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)

at org.kie.scanner.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:111)

at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:84)

at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:75)

at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:69)

at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:55)

at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:49)

at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:127)

at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:90)

at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:88)

at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:139)



Does anybody know why this is happening or what I can do to fix it?

Reply all
Reply to author
Forward
0 new messages