我使用的是drool版本7.x。我可以使用"最新"让KieScanner在我的本地maven存储库上工作。但每次我在工作台上更新规则时,我都必须手动运行mvn-install来更新我的本地存储库,以便KieScanner可以拾取更改。事情就是这样吗?或者可以在每次运行扫描仪时强制下载吗?
我需要从我的定制仓库里取最新的罐子。
我的配置
KieServices ks = KieServices.Factory.get();
ReleaseId releaseId = ks.newReleaseId( "com.test", "poc", "LATEST" );
KieContainer kContainer = ks.newKieContainer(releaseId);
KieScanner kieScanner = ks.newKieScanner(kContainer);
kieScanner.start( 10000L );
Scanner scanner = new Scanner(System.in);
while (true) {
kieScanner.scanNow();
String line = scanner.nextLine();
runRule(kContainer);
}
}
我已经在maven设置文件中配置了我的自定义repo。
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>customRepo</id>
<url>https://customRepo/v2</url>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>development</activeProfile>
</activeProfiles>
异常:无法解析工件:com.test:最新
我已经尝试了下面的所有链接。但运气不好
KieScanner无法自动获取最新版本
KieScanner与远程maven回购
直接从存储库加载Drools/KIE Workbench工件
如何告诉Maven使用最新版本的依赖项?
我如何告诉maven 3.6.3从自定义存储库获取工件的最新版本
https://access.redhat.com/solutions/1592893
KieScanner在运行时未更新KieSessions
KieScanner在Drools 6.1 中不工作
KieScanner未从远程nexus存储库更新jar(Drools 6.5.0.Final(
有人建议解决这个问题吗?
LATEST
和RELEASE
是Maven 2关键字。他们的表现不可预测,在Maven 3中被完全淘汰。
参考。https://www.baeldung.com/maven-dependency-latest-version#1-不推荐使用的语法
如果将SNAPSHOT用于GAV版本,则可以使用[1.0-SNAPSHOT,)
获取最新的SNAPSHOT版本。LATEST
无法获取SNAPSHOT版本,因为它在Maven 3中已被弃用。