Загрузка артефактов Drools / KIE Workbench непосредственно из хранилища
Мы пытаемся перейти на Drools 6 со всем новым рабочим столом KIE (ранее известным как Guvnor) и новыми артефактами на основе Maven.
Сейчас я'Я хотел бы использовать систему, описанную вэтот блог на втором изображении (Развертывание»): Загрузка правил через HTTP из репозитория рабочей среды (пунктирная стрелка, идущая из HTTP слева прямо в приложение).
Проблема в том, что я понятия не имею, как загрузить артефакт в мой объект KieServices / KieModule. Я в принципе не хочу использовать Maven, я также не могу предоставить путь к Mavensettings.xml
глобально как параметр Java, поэтому эта опция отсутствует.
Я думаю, что похожая проблемаэтот, Как уже упоминалось, я также пытался загрузить ресурс URL, но проблема в том, что система не может определить, какой типResourceType
данный URL (http://localhost:8080/kie-drools/maven2/.../-1.0.0.jar
) является. И да, я могу получить доступ к .jar из хранилища напрямую из браузера, без аутентификации.
Любые идеи или учебники, как это сделать?
Мой тестовый код:
public static void main(String[] args) {
KieServices ks = KieServices.Factory.get();
KieRepository repo = ks.getRepository();
String url = "http://localhost:8080/kie-drools/maven2/de/test/test/1.0.0/test-1.0.0.jar";
Resource urlResource = ks.getResources().newUrlResource(url);
KieModule kModule = repo.addKieModule(urlResource); // this already fails
}
Ошибка:
Exception in thread "main" java.lang.RuntimeException: Unable to fetch module from resource :[UrlResource path='http://localhost:8080/kie-drools/maven2/de/itm/Herma400/1.0.1/Herma400-1.0.1.jar']
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:205)
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.addKieModule(KieRepositoryImpl.java:161)
at kieTest.MainKieTest.main(MainKieTest.java:24)
Caused by: java.lang.NullPointerException
at org.drools.compiler.kie.builder.impl.ClasspathKieProject.getPomProperties(ClasspathKieProject.java:197)
at org.drools.compiler.kie.builder.impl.ClasspathKieProject.fetchKModule(ClasspathKieProject.java:148)
at org.drools.compiler.kie.builder.impl.ClasspathKieProject.fetchKModule(ClasspathKieProject.java:109)
at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:190)
... 2 more
Заранее спасибо!