Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven Drools kie ci示例在ubber jar中失败,但在eclipse IDE上失败_Maven_Jar_Drools_Kie_Maven Shade Plugin - Fatal编程技术网

Maven Drools kie ci示例在ubber jar中失败,但在eclipse IDE上失败

Maven Drools kie ci示例在ubber jar中失败,但在eclipse IDE上失败,maven,jar,drools,kie,maven-shade-plugin,Maven,Jar,Drools,Kie,Maven Shade Plugin,我已经尝试drools一周了,我试图构建一个从本地maven存储库获取kjar的小应用程序。如果我在eclipse中运行我的应用程序,一切正常。如果使用maven shade插件构建一个ubber jar并运行java-jar myapp.jar,应用程序将失败,出现附件中提供的异常,尽管从本地maven存储库中充分读取了kjar工件(我通过提供一个不存在的工件进行了检查,并给出了一个正确的错误) 我搜索了将近一天,在drools文档、github上提供的示例或Google索引的任何其他页面中都

我已经尝试drools一周了,我试图构建一个从本地maven存储库获取kjar的小应用程序。如果我在eclipse中运行我的应用程序,一切正常。如果使用maven shade插件构建一个ubber jar并运行java-jar myapp.jar,应用程序将失败,出现附件中提供的异常,尽管从本地maven存储库中充分读取了kjar工件(我通过提供一个不存在的工件进行了检查,并给出了一个正确的错误)

我搜索了将近一天,在drools文档、github上提供的示例或Google索引的任何其他页面中都找不到解释:-/我不知道它是否与ubber jar有关,因为所有示例都没有提到如何部署应用程序。请帮帮我

我正在附加堆栈跟踪的一部分,其中包含异常和pom.xml。我没有更改任何与Maven相关的settings.xml,因为该应用程序似乎能够正确地从本地repo检索信息

堆栈跟踪

0 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Loading kie.conf from
3 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Discovered kie.conf url=jar:file:/C:/Users/ccosta/git/myproject/rulesengine/target/rulesengine-0.0.1-shade.jar!/META-INF/kie.conf
65 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.drools.core.io.impl.ResourceFactoryServiceImpl

68 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.internal.services.KieBeliefsImpl

78 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.drools.compiler.kie.builder.impl.KieServicesImpl

79 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.internal.services.KieWeaversImpl

81 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.internal.services.KieRuntimesImpl

91 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.drools.core.marshalling.impl.MarshallerProviderImpl

93 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.internal.services.KieAssemblersImpl

101 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.scanner.MavenClassLoaderResolver

116 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.drools.compiler.builder.impl.KnowledgeBuilderFactoryServiceImpl

117 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.drools.core.concurrent.ExecutorProviderImpl

126 [main] INFO org.kie.api.internal.utils.ServiceDiscoveryImpl  - Adding Service org.kie.scanner.KieScannerFactoryServiceImpl

141 [main] DEBUG org.drools.compiler.kie.builder.impl.KieRepositoryImpl  - KieModule Lookup. ReleaseId org.lid4.myproject:rules:0.0.1 was not in cache, checking classpath
142 [main] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl  - Adding KieModule from classpath: file:/C:/Users/ccosta/git/myproject/rulesengine/target/rulesengine-0.0.1-shade.jar
148 [main] DEBUG org.drools.compiler.kie.builder.impl.ClasspathKieProject  - KieModule URL type=jar url=/C:/Users/ccosta/git/myproject/rulesengine/target/rulesengine-0.0.1-shade.jar
410 [main] DEBUG org.drools.compiler.kie.builder.impl.ClasspathKieProject  - Found and used pom.properties META-INF/maven/org.lid4.myproject/rulesengine/pom.properties
1057 [main] WARN org.appformer.maven.integration.embedder.MavenSettings  - Environment variable M2_HOME is not set
1093 [main] DEBUG org.appformer.maven.integration.embedder.MavenEmbedderUtils  - Not in OSGi: using plexus based maven parser
1489 [main] ERROR org.appformer.maven.integration.embedder.MavenEmbedder  - Unable to build MavenEmbedder
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
        at org.appformer.maven.integration.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
        at org.appformer.maven.integration.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:134)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:96)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:87)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:81)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.newMavenEmbedder(MavenProjectLoader.java:92)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:76)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:70)
        at org.appformer.maven.integration.MavenPomModelGenerator.parse(MavenPomModelGenerator.java:34)
        at org.appformer.maven.support.PomModel$Parser.parse(PomModel.java:110)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.getPomModel(AbstractKieModule.java:378)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.getJarDependencies(AbstractKieModule.java:130)
        at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:66)
        at org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
        at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:56)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:191)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:172)
        at org.lid4.myproject.rulesengine.App.main(App.java:22)
Caused by: java.util.NoSuchElementException
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:1)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
        ... 20 more
1492 [main] ERROR org.appformer.maven.integration.embedder.MavenProjectLoader  - Unable to create new MavenEmbedder
org.appformer.maven.integration.embedder.MavenEmbedderException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:108)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:87)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:81)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.newMavenEmbedder(MavenProjectLoader.java:92)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:76)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:70)
        at org.appformer.maven.integration.MavenPomModelGenerator.parse(MavenPomModelGenerator.java:34)
        at org.appformer.maven.support.PomModel$Parser.parse(PomModel.java:110)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.getPomModel(AbstractKieModule.java:378)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.getJarDependencies(AbstractKieModule.java:130)
        at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:66)
        at org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
        at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:56)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:191)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:172)
        at org.lid4.myproject.rulesengine.App.main(App.java:22)



... More of the same (removed to fulfil stackoverlow char limits)...




1520 [main] DEBUG org.appformer.maven.integration.embedder.MavenEmbedderUtils  - Not in OSGi: using plexus based maven parser
1581 [main] ERROR org.appformer.maven.integration.embedder.MavenEmbedder  - Unable to build MavenEmbedder
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
        at org.appformer.maven.integration.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
        at org.appformer.maven.integration.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:134)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:96)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:87)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:81)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:56)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:121)
        at org.appformer.maven.integration.Aether.getAether(Aether.java:75)
        at org.appformer.maven.integration.MavenRepository.getMavenRepository(MavenRepository.java:95)
        at org.appformer.maven.integration.ArtifactResolver.<init>(ArtifactResolver.java:52)
        at org.appformer.maven.integration.ArtifactResolver.getResolverFor(ArtifactResolver.java:146)
        at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:72)
        at org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
        at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:56)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:191)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:172)
        at org.lid4.myproject.rulesengine.App.main(App.java:22)
Caused by: java.util.NoSuchElementException
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:1)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
        ... 19 more
1582 [main] WARN org.appformer.maven.integration.embedder.MavenProjectLoader  - Unable to parse pom.xml file of the running project: org.appformer.maven.integration.embedder.MavenEmbedderException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
1657 [main] DEBUG org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider  - Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:\Users\ccosta\.m2\repository
1661 [main] DEBUG org.appformer.maven.integration.embedder.MavenEmbedderUtils  - Not in OSGi: using plexus based maven parser
1716 [main] ERROR org.appformer.maven.integration.embedder.MavenEmbedder  - Unable to build MavenEmbedder
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
        at org.appformer.maven.integration.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
        at org.appformer.maven.integration.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:134)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:96)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:87)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:81)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:56)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:121)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:114)
        at org.appformer.maven.integration.embedder.EmbeddedPomParser.<init>(EmbeddedPomParser.java:32)
        at org.appformer.maven.integration.ArtifactResolver.<init>(ArtifactResolver.java:53)
        at org.appformer.maven.integration.ArtifactResolver.getResolverFor(ArtifactResolver.java:146)
        at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:72)
        at org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
        at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:56)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:191)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:172)
        at org.lid4.myproject.rulesengine.App.main(App.java:22)
Caused by: java.util.NoSuchElementException
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:1)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
        ... 19 more
1716 [main] WARN org.appformer.maven.integration.embedder.MavenProjectLoader  - Unable to parse pom.xml file of the running project: org.appformer.maven.integration.embedder.MavenEmbedderException: java.util.NoSuchElementException
      role: org.apache.maven.execution.MavenExecutionRequestPopulator
  roleHint:
package org.lid4.intelligentdatabroker.rulesengine;

import org.apache.log4j.BasicConfigurator;
import org.drools.core.util.Drools;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.lid4.intelligentdatabroker.rules.Measurement;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        BasicConfigurator.configure();

        KieServices ks = KieServices.Factory.get();
        ks.newReleaseId("org.lid4.myproject", "rules", "0.0.1");
        ks.newKieContainer(ks.newReleaseId("org.lid4.myproject", "rules", "0.0.1"));

        // Install example1 in the local maven repo before to do this
        //KieContainer kContainer = ks.newKieContainer(ks.newReleaseId("org.lid4.myproject", "rules", "0.0.1"));

        //KieSession kSession = kContainer.newKieSession();
        //kSession.setGlobal("out", System.out);

        Measurement m1 = new Measurement("1", "1");
        //kSession.insert(m1);
        //kSession.fireAllRules();
    }
}
------编辑------------

现在它失败了

1641 [main] ERROR org.appformer.maven.integration.embedder.MavenEmbedder  - Unable to build MavenEmbedder
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
      role: org.apache.maven.settings.building.SettingsBuilder
  roleHint:
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
        at org.appformer.maven.integration.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
        at org.appformer.maven.integration.embedder.MavenEmbedder.getSettings(MavenEmbedder.java:235)
        at org.appformer.maven.integration.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:134)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:96)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:87)
        at org.appformer.maven.integration.embedder.MavenEmbedder.<init>(MavenEmbedder.java:81)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:56)
        at org.appformer.maven.integration.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:121)
        at org.appformer.maven.integration.Aether.getAether(Aether.java:75)
        at org.appformer.maven.integration.MavenRepository.getMavenRepository(MavenRepository.java:95)
        at org.appformer.maven.integration.ArtifactResolver.<init>(ArtifactResolver.java:52)
        at org.appformer.maven.integration.ArtifactResolver.getResolverFor(ArtifactResolver.java:146)
        at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:72)
        at org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
        at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:56)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:191)
        at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:172)
        at org.lid4.intelligentdatabroker.rulesengine.App.main(App.java:23)
Caused by: java.util.NoSuchElementException
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
        at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:1)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
        at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
        ... 20 more
1641[main]错误org.appformer.maven.integration.embedder.MavenEmbedder-无法构建MavenEmbedder
org.codehaus.plexus.component.repository.exception.ComponentLookupException:java.util.NoSuchElementException
角色:org.apache.maven.settings.building.SettingsBuilder
角色提示:
位于org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
位于org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
位于org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
位于org.appformer.maven.integration.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
位于org.appformer.maven.integration.embedder.MavenEmbedder.getSettings(MavenEmbedder.java:235)
位于org.appformer.maven.integration.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:134)
位于org.appformer.maven.integration.embedder.MavenEmbedder.(MavenEmbedder.java:96)
位于org.appformer.maven.integration.embedder.MavenEmbedder.(MavenEmbedder.java:87)
位于org.appformer.maven.integration.embedder.MavenEmbedder.(MavenEmbedder.java:81)
位于org.appformer.maven.integration.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:56)
位于org.appformer.maven.integration.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:121)
位于org.appformer.maven.integration.ether.getether(ether.java:75)
位于org.appformer.maven.integration.MavenRepository.getMavenRepository(MavenRepository.java:95)
位于org.appformer.maven.integration.ArtifactResolver.(ArtifactResolver.java:52)
位于org.appformer.maven.integration.ArtifactResolver.getResolverFor(ArtifactResolver.java:146)
位于org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:72)
位于org.drools.compiler.kie.builder.impl.InternalKieModule.createModuleClassLoader(InternalKieModule.java:137)
位于org.drools.compiler.kie.builder.impl.KieModuleKieProject.(KieModuleKieProject.java:56)
位于org.drools.compiler.kie.builder.impl.kieServiceSiml.newKieContainer(kieServiceSiml.java:191)
位于org.drools.compiler.kie.builder.impl.kieServiceSiml.newKieContainer(kieServiceSiml.java:172)
位于org.lid4.intelligentdatabroker.rulesengine.App.main(App.java:23)
原因:java.util.NoSuchElementException
位于org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
位于org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:1)
在org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next上(DefaultPlexusBeans.java:76)
位于org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
位于org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
... 20多
将此配置添加到maven shade插件后。所以我怀疑这真的是一个maven shade插件相关的问题,但我不知道构建ubber jar以在应用程序中使用Drools的其他方法

<transformer
                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">                                  
                                        <resource>META-INF/sisu/javax.inject.Named</resource>                                   
                                </transformer>

META-INF/sisu/javax.inject.Named
提前感谢,,
卡洛斯·科斯塔(Carlos Costa)

这其实只是我的2美分,因为你现在想做的事远远超出了我的想象

但我确实看到了你的踪迹 “1057[main]WARN org.appformer.maven.integration.embedder.MavenSettings-未设置环境变量M2_HOME”

  • (Win7)控制面板/系统/高级系统设置->系统属性弹出/高级选项卡/按钮“环境变量”->环境变量弹出,底部窗口“系统变量”
  • 确保你有一个M2_HOME和MAVEN_HOME条目指向你的MAVEN安装;如有必要,编辑或添加

  • 这可能是你的MavenMember无法构建的原因。

    这实际上只是我的2美分,因为你现在想做的事情远远超出了我的想象

    但我确实看到了你的踪迹 “1057[main]WARN org.appformer.maven.integration.embedder.MavenSettings-未设置环境变量M2_HOME”

  • (Win7)控制面板/系统/高级系统设置->系统属性弹出/高级选项卡/按钮“环境变量”->环境变量弹出,底部窗口“系统变量”
  • 确保你有一个M2_HOME和MAVEN_HOME条目指向你的MAVEN安装;如有必要,编辑或添加

  • 这可能是您的MavenMembedder无法构建的原因。

    我们从uber JAR中运行Drools,maven shade插件的配置如下

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <configuration>
          <createDependencyReducedPom>true</createDependencyReducedPom>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <!-- some transformers omitted -->
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/kie.conf</resource>
                </transformer>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/sisu/javax.inject.Named</resource>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    
    
    org.apache.maven.plugins
    
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <configuration>
          <createDependencyReducedPom>true</createDependencyReducedPom>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <!-- some transformers omitted -->
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/kie.conf</resource>
                </transformer>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/sisu/javax.inject.Named</resource>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>