[jboss-jira] [JBoss JIRA] (DROOLS-1143) Guice error resolving implementation for RepositorySystem in shaded jar for kie-ci 6.3.0.Final with spark streaming (1.6.1)

Lucie Zhao (JIRA) issues at jboss.org
Thu Apr 28 15:00:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13198705#comment-13198705 ] 

Lucie Zhao commented on DROOLS-1143:
------------------------------------

pom.xml

This creates a fat jar so all the dependencies are inside

{code:java}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>test</groupId>
  <artifactId>droolstest</artifactId>
  <version>1.0</version>
<properties>
        <drools.version>6.3.0.Final</drools.version>
    </properties>
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.1</version>
        <configuration>
        	<artifactSet>  
             </artifactSet>
            <filters>
		        <filter>
		            <artifact>*:*</artifact>
		            <excludes>
		                <exclude>META-INF/*.SF</exclude>
		                <exclude>META-INF/*.DSA</exclude>
		                <exclude>META-INF/*.RSA</exclude>
		            </excludes>
		        </filter>
   			 </filters>        	
		</configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>
  <dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

 
		<dependency>
  			<groupId>org.kie</groupId>
  			<artifactId>kie-ci</artifactId>
  			<version>${drools.version}</version>
		</dependency>
		
		<dependency>
  			<groupId>test</groupId>
  			<artifactId>drools</artifactId>
  			<version>LATEST</version>
		</dependency>
		
		<dependency>
			<groupId>org.drools</groupId>
			<artifactId>drools-workbench-models-guided-template</artifactId>
			<version>${drools.version}</version>
		</dependency>
 
  </dependencies>

</project>

{code}


> Guice error resolving implementation for RepositorySystem in shaded jar for kie-ci 6.3.0.Final with spark streaming (1.6.1)
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-1143
>                 URL: https://issues.jboss.org/browse/DROOLS-1143
>             Project: Drools
>          Issue Type: Bug
>            Reporter: Lucie Zhao
>            Assignee: Mario Fusco
>
> I'm working on a project where I'm trying to integrate drools with spark streaming.  I've seen this error on DROOLS-723 where it's reported to have been fixed in 6.2.0.Final but I'm using 6.3.0.Final and it's not working for me.  I am able to run a quick test in my eclipse work space without the spark piece and it is working for me.  
> here's the stack trace:
> {code}
> 016-04-27 10:22:32,360 WARN  [streaming-job-executor-0] Sisu (Logs.java:warn(394)) - 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)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:239)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:1)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.DStream.createRDDWithLocalProperties(DStream.scala:426)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply$mcV$sp(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at scala.util.Try$.apply(Try.scala:161)
> 	at org.apache.spark.streaming.scheduler.Job.run(Job.scala:39)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply$mcV$sp(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler.run(JobScheduler.scala:223)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> java.lang.RuntimeException: org.kie.scanner.embedder.MavenEmbedderException: 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
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:57)
> 	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)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:239)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:1)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.DStream.createRDDWithLocalProperties(DStream.scala:426)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply$mcV$sp(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at scala.util.Try$.apply(Try.scala:161)
> 	at org.apache.spark.streaming.scheduler.Job.run(Job.scala:39)^C
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply$mcV$sp(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler.run(JobScheduler.scala:223)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.kie.scanner.embedder.MavenEmbedderException: 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
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:94)
> 	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)
> 	... 28 more
> Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: 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
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264)
> 	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)
> 	... 31 more
> Caused by: 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
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
> 	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)
> 	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)
> 	... 36 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list