2016-07-27 1 views
0

J'essaie d'obtenir un kieContainer à partir d'un projet que j'ai créé sur le KIE Workbench.Comment puis-je obtenir un kieContainer à partir de l'atelier KIE?

String url = "http://dev.dsack.local:8080/kie-wb/maven2wb/ouTest/projectTest/1.0/projectTest-1.0.jar"; 
    ReleaseIdImpl releaseId = new ReleaseIdImpl("ouTest", "projectTest", "1.0"); 
    KieServices kieServices = KieServices.Factory.get(); 
    kieServices.getResources().newUrlResource(url); 
    KieContainer kieContainer = kieServices.newKieContainer(releaseId); 

Quand j'ouvre l'URL avec un navigateur je peux télécharger le .jar mais dans la dernière ligne, je reçois une erreur. Je ne sais pas ce que je fais mal. Je ne suis pas très familier avec maven. Pouvez-vous m'aider s'il vous plaît?

12:57:11.688 [main] DEBUG org.kie.scanner.MavenRepository - Unable to resolve artifact: ouTest:projectTest:pom:1.0 
org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact ouTest:projectTest:pom:1.0 in central (https://repo.maven.apache.org/maven2) 
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444) ~[aether-impl-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) ~[aether-impl-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223) ~[aether-impl-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294) ~[aether-impl-1.0.0.v20140518.jar:na] 
at org.kie.scanner.MavenRepository.resolveArtifact(MavenRepository.java:154) ~[kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.kie.scanner.ArtifactResolver.getPomFileForGAV(ArtifactResolver.java:148) [kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:108) [kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.kie.scanner.KieRepositoryScannerImpl.loadPomArtifact(KieRepositoryScannerImpl.java:151) [kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:127) [kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:122) [kie-ci-6.4.0.Final.jar:6.4.0.Final] 
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.loadKieModuleFromMavenRepo(KieRepositoryImpl.java:130) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:116) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:93) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:115) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:111) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
at controller.DecisionServerTest.test2(DecisionServerTest.java:163) [classes/:na] 
at Main.main(Main.java:9) [classes/:na] 
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact ouTest:projectTest:pom:1.0 in central (https://repo.maven.apache.org/maven2) 
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:39) ~[aether-connector-basic-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355) ~[aether-connector-basic-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) ~[aether-util-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581) ~[aether-connector-basic-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:249) ~[aether-connector-basic-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520) ~[aether-impl-1.0.0.v20140518.jar:na] 
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421) ~[aether-impl-1.0.0.v20140518.jar:na] 
... 16 common frames omitted 
Exception in thread "main" java.lang.RuntimeException: Cannot find KieModule: ouTest:projectTest:1.0 
at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:117) 
at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:111) 
at controller.DecisionServerTest.test2(DecisionServerTest.java:163) 
at Main.main(Main.java:9) 
+0

Avez-vous ajouté 'http: // kiewbserver: 8080/kie-drools-wb/maven2' à vos paramètres maven? –

+0

Attendez que vous utilisez 'newUrlResource', essayez d'utiliser" LATEST "comme la version –

+0

Non, je ne ai pas, mais je ne sais pas comment. J'ai créé un settings.xml sous Users/user1/.m2/mais je ne sais pas comment le contenu doit ressembler, ou si le répertoire est le bon. Je pense que je dois d'abord en lire plus sur maven ... – Marv174

Répondre

1

Je suppose que u essayez de télécharger le pot de Kie établi, en essayant de construire le pot dans Maven et de l'utiliser dans votre project.In ce cas, d'abord exécuter cette commande comme par le lien ci-dessous, http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html Puis ajoutez votre dépendance jar dans votre fichier pom de projet. Vous pouvez utiliser le code ci-dessous pour exécuter l'application.Un besoin de beaucoup de jars au cours de l'exécution.Kie-ci, kie-interne étant les principaux.

  KieServices kieServices = KieServices.Factory.get(); 

      ReleaseId releaseId = kieServices.newReleaseId("org.test", 
        "kie-project-simple", "1.0"); 

      KieContainer kContainer = kieServices.newKieContainer(releaseId); 

      kScanner = kieServices.newKieScanner(kContainer); 

      System.out.println("This is a Kie-Ci example. The drl rule is packaged " + 
        "as a kmodule in a jar and deployed in your maven repo"); 

      // Scan to discover new resources of an existing artifact 
      kScanner.scanNow(); 

      for (int i = 0; i < 100; i++) { 
       // Create a stateless session 
       kSession = kContainer.newKieSession(); 
       kSession.insert("Hello"); 
       kSession.fireAllRules(); 
       try { 
        Thread.sleep(5000); 
       } catch (InterruptedException e) { 
        System.out.println("Thread interrupted. Firing of rules will stop."); 
       } 
      }