[rules-users] Trying to load a module from Maven coordinates

david.berkman david.berkman at grenadefish.net
Fri Mar 7 18:45:21 EST 2014


Using Maven 3.2.1 and Drools 6.0.1, I'm trying to simply follow the
instructions for loading a container with a jar at a set of maven
coordinates. I have confirmed that the jar exists at the specified
coordinates (in Nexus), and that I can download it without using a
username/password (just an http get), and that the jar does contain both
.drl files and a /META-INF/kmodule.xml. I'm using the code below, and have
added the extra dependencies listed, but I get the errors shown below all
that. First off, working out the proper dependencies is no mean feat, when
it seems that just kie-ci should be necessary. What a pain, and there is far
too little documentation to help. But, I assume this should be possible, and
maybe some kind person out there has the magic combination of Drools, Maven,
and jars to make it work?

Thanks in advance,
David

KieServices kieServices = KieServices.Factory.get();
kieServices.newKieContainer(kieServices.newReleaseId("<groupId>",
"<artifactId>", "<version>"));

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
        <version>6.0.1.Final</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-aether-provider</artifactId>
        <version>3.0.5</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.0.17</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-impl</artifactId>
        <version>0.9.0.M2</version>
      </dependency>

2014-03-07T15:29:50.368-0800 Sisu WARN  (.:) [main] - Error injecting:
org.eclipse.aether.internal.impl.DefaultRepositorySystem
	Exception in thread com.google.inject.ConfigurationException: Guice
configuration errors:

1) No implementation for org.eclipse.aether.impl.ArtifactDescriptorReader
was bound.
  while locating org.eclipse.aether.impl.ArtifactDescriptorReader
    for parameter 4 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem

2) No implementation for org.eclipse.aether.impl.VersionRangeResolver was
bound.
  while locating org.eclipse.aether.impl.VersionRangeResolver
    for parameter 1 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem

3) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
  while locating org.eclipse.aether.impl.VersionResolver
    for parameter 0 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem

3 errors
	   at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:991)
	   at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
	   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
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   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:1018)
	   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.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
	   at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
	   at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
	   at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
	   at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
	   at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
	   at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
	   at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
	   at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
	   at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
	   at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
	   at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
	   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
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   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:1018)
	   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.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
	   at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
	   at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
	   at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
	   at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
	   at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
	   at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
	   at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
	   at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
	   at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
	   at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
	   at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
	   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
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   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:1018)
	   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.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
	   at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
	   at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
	   at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
	   at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
	   at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
	   at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
	   at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
	   at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
	   at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
	   at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
	   at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
	   at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
	   at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
	   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.MavenEmbedder.lookup(MavenEmbedder.java:527)
	   at
org.kie.scanner.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:152)
	   at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:115)
	   at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:104)
	   at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:131)
	   at
org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:18)
	   at
org.kie.scanner.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:48)
	   at org.kie.scanner.Aether.<init>(Aether.java:44)
	   at org.kie.scanner.Aether.getAether(Aether.java:54)
	   at
org.kie.scanner.MavenRepository.getMavenRepository(MavenRepository.java:45)
	   at org.kie.scanner.ArtifactResolver.<init>(ArtifactResolver.java:25)
	   at
org.kie.scanner.KieRepositoryScannerImpl.getArtifactResolver(KieRepositoryScannerImpl.java:67)
	   at
org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:88)
	   at
org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:83)
	   at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.loadKieModuleFromMavenRepo(KieRepositoryImpl.java:113)
	   at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:99)
	   at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:76)
	   at
org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:84)
	   at
com.icix.neutrino.bedrock.predicate.drools.extras.spring.KieScannedContainerCacheInitializingBean.afterPropertiesSet(KieScannedContainerCacheInitializingBean.java:44)
	   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
	   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
	   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
	   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
	   at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
	   at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
	   at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
	   at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
	   at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:608)
	   at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
	   at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
	   at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	   at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
	   at com.icix.neutrino.terminus.hub.Foo.<clinit>(Foo.java:19)
	   at java.lang.Class.forName0(Native Method)
	   at java.lang.Class.forName(Class.java:190)
	   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
2014-03-07T15:29:50.379-0800 Sisu WARN  (.:) [main] - Error injecting:
org.apache.maven.artifact.resolver.DefaultArtifactResolver
	Exception in thread com.google.inject.ProvisionException: Guice provision
errors:

1) No implementation for org.eclipse.aether.impl.ArtifactDescriptorReader
was bound.
  while locating org.eclipse.aether.impl.ArtifactDescriptorReader
    for parameter 4 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  while locating org.eclipse.aether.RepositorySystem
  while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver

2) No implementation for org.eclipse.aether.impl.VersionRangeResolver was
bound.
  while locating org.eclipse.aether.impl.VersionRangeResolver
    for parameter 1 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  while locating org.eclipse.aether.RepositorySystem
  while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver

3) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
  while locating org.eclipse.aether.impl.VersionResolver
    for parameter 0 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
  while locating org.eclipse.aether.RepositorySystem
  while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver




--
View this message in context: http://drools.46999.n3.nabble.com/Trying-to-load-a-module-from-Maven-coordinates-tp4028593.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list