Drools KieScanner——是否可以从可执行文件中加载 settings.xml?
Drools KieScanner -- is it possible to load settings.xml from within the executable?
我在 Spring 引导项目中使用 KieScanner
和 Drools 7.x,并且动态规则加载在本地工作得很好。
但是,我 运行 在准备部署到环境时遇到了问题。
Drools 使用嵌入式 Maven 客户端检查远程存储库或规则工件的新版本。远程存储库的位置是通过标准 Maven settings.xml
。 Drools documentation指定settings.xml
的位置可以是:
- Maven 安装:
$M2_HOME/conf/settings.xml
- 一个用户的安装:
${user.home}/.m2/settings.xml
- 系统指定的文件夹位置属性
kie.maven.settings.custom
我研究了他们似乎需要的方法,但由于组织中的基础设施配置限制,我无法将静态文件部署到主机 运行ning 我们的可执行文件(和 Docker 也不是一个选项)。
有没有办法将 settings.xml
捆绑到可执行文件中并从那里加载它,或者以其他方式为远程存储库提供设置?
我最终深入研究了 KieScanner
的源代码,发现库中有一个功能可用于解析源项目中记录的 settings.xml
的路径,但没有在 Drools 文档中。该库将 String
作为路径,但如果该路径不存在,它会尝试将其转换为 URL。然后我能够远程托管 settings.xml
并通过 URL 引用它。
我在 Spring 引导项目中使用 KieScanner
和 Drools 7.x,并且动态规则加载在本地工作得很好。
但是,我 运行 在准备部署到环境时遇到了问题。
Drools 使用嵌入式 Maven 客户端检查远程存储库或规则工件的新版本。远程存储库的位置是通过标准 Maven settings.xml
。 Drools documentation指定settings.xml
的位置可以是:
- Maven 安装:
$M2_HOME/conf/settings.xml
- 一个用户的安装:
${user.home}/.m2/settings.xml
- 系统指定的文件夹位置属性
kie.maven.settings.custom
我研究了他们似乎需要的方法,但由于组织中的基础设施配置限制,我无法将静态文件部署到主机 运行ning 我们的可执行文件(和 Docker 也不是一个选项)。
有没有办法将 settings.xml
捆绑到可执行文件中并从那里加载它,或者以其他方式为远程存储库提供设置?
我最终深入研究了 KieScanner
的源代码,发现库中有一个功能可用于解析源项目中记录的 settings.xml
的路径,但没有在 Drools 文档中。该库将 String
作为路径,但如果该路径不存在,它会尝试将其转换为 URL。然后我能够远程托管 settings.xml
并通过 URL 引用它。