java - Drools KieScanner——是否可以从可执行文件中加载settings.xml?

标签 java maven drools kie

我在 Spring Boot 项目中将 KieScanner 与 Drools 7.x 一起使用,动态规则加载在本地运行得很好。

但是,我在准备部署到环境时遇到了问题。

Drools 使用嵌入式 Maven 客户端来检查远程存储库或规则 Artifact 的新版本。远程存储库的位置通过标准 Maven settings.xml 进行。 Drools documentation指定 settings.xml 的位置可以是:

  • Maven 安装:$M2_HOME/conf/settings.xml
  • 用户的安装:${user.home}/.m2/settings.xml
  • 由系统属性指定的文件夹位置kie.maven.settings.custom

我研究了他们似乎需要的方法,但由于组织中的基础设施配置限制,我无法将静态文件部署到运行我们的可执行文件的主机(并且 Docker 也不是一个选项)。

是否有任何方法可以将 settings.xml 捆绑到可执行文件中并从那里加载它,或者以其他方式为远程存储库提供设置?

最佳答案

我最终深入研究了 KieScanner 的源代码,发现库中有一个功能,它用于解析 settings.xml 的路径,该功能记录在源项目,但不在 Drools 文档中。该库采用 String 作为路径,但如果该路径不存在,它会尝试将其转换为 URL。然后我就可以远程托管 settings.xml 并通过 URL 引用它。

关于java - Drools KieScanner——是否可以从可执行文件中加载settings.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57630994/

相关文章:

java - 如何从 KIE 工作台获取 kieContainer

drools - 如何编辑和更新 Drools 规则文件?

java.sql.SQLException : Illegal hour value '50' for java. sql.Time 类型的值 '50:51:05

perl - 在 perl 项目中使用 maven

java - 重写 toString() 方法时出现 StackOverflow 错误

maven - 如何在 exec-maven-plugin :exec failure? 上执行清理脚本

maven - 如何获取 javax :javaee-api-6. 0.jar 的源代码

rules - Drools 撤回导致规则不触发

java - 简单的对象和方法

java - 在当前项目和插件组 [org.apache.maven.plugins, org.codehaus.mojo] 本地中找不到前缀 'archetype' 的插件