まったく新しい KIE ワークベンチ (以前は Guvnor として知られていた) と新しい Maven ベースのアーティファクトを備えた Drools 6 に切り替えようとしています。
ここで、2 番目のイメージ (「デプロイ」) でこのブログ投稿に記載されているシステムを使用したいと思います: Workbench リポジトリから HTTP 経由でルールをロードする (点線の矢印、左側の HTTP から直接アプリケーションに移動) .
問題は、アーティファクトを KieServices/KieModule オブジェクトにロードする方法がわからないことです。私は基本的にmavenを使用したくありません。また、mavenのsettings.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
前もって感謝します!