将以编程方式创建的KIE-Drools-Artifact部署到Maven存储库 [英] Deploy programatically created KIE-Drools-Artifact to Maven repository

查看:141
本文介绍了将以编程方式创建的KIE-Drools-Artifact部署到Maven存储库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以将以编程方式创建的Drools 6工件部署到基础Maven存储库?我不想显式地调用 mvn deploy ,而是从程序本身进行操作:

Is there a way to deploy a programatically created Drools 6 artifact to the underlying maven repository? I do NOT want to explicitly somehow call mvn deploy but do that from the program itself:

public static void main(String[] args) {
    String ruleString = "rule \"TestRule\"\nthen\nSystem.out.println(\"This is a testrule.\");\nend";

    KieServices kieServices = KieServices.Factory.get();

    KieModuleModel kieModuleModel = kieServices.newKieModuleModel();
    KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel("testbase1").setDefault(true);
    KieSessionModel kieSessionModel = kieBaseModel.newKieSessionModel("testsession1").setDefault(true).setType(KieSessionModel.KieSessionType.STATELESS);

    KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
    kieFileSystem.generateAndWritePomXML(new ReleaseIdImpl("de.itm.test", "testartifact", "0.0.1-SNAPSHOT"));
    kieFileSystem.write("src/main/resources/testbase1/rule1.drl", ruleString);

    KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll();

    // how to now deploy the new artifact so it is available on disc, e.g. in ~/.m2/repository/de/itm/test/test/testartifact/0.0.1-SNAPSHOT/ ?
}


推荐答案

在这里您可以看到一个单位测试是否符合您的要求:

Here you can see a unit test that does what you are asking for:

https://github.com/kiegroup/drools/blob/master/kie-ci/src/test/java/ org / kie / scanner / KieScannerIncrementalCompilationTest.java#L63

基本上:

MavenRepository repository = MavenRepository.getMavenRepository();
repository.deployArtifact(releaseId, kJar1, kPom);

这篇关于将以编程方式创建的KIE-Drools-Artifact部署到Maven存储库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆