我正在尝试为多模块项目配置Camunda自动资源部署。我要存档的是以下项目结构:
---learnCamunda
| pom.xml
+---application
| | pom.xml
| +---src
| ---main
| +---java
| | ---com
| | ---camunda
| | ---learnCamunda
| | | LearnCamundaApplication.java
| | ---configuration
| | CustomOracleDialect.java
| | FlywayConfiguration.java
| | H2ConsoleConfiguration.java
| ---resources
| | application.properties
| |
| ---processes
| loanRequest.bpmn
+---contract-management
| pom.xml
---src
---main
+---java
| ---com
| ---camunda
| ---learnCamunda
| +---dto
| +---dts
| +---entity
| ---enums
---resources
---processes
DUMMY_PROCESS.bpmn
application
和contract management
是learnCamunda
项目的模块,我希望我的application.properties
为Camunda资源扫描提供classPath以拾取loanRequest.bpmn
和DUMMY_PROCESS.bpmn
。通过应用程序模块中的application.properties
可以做到这一点吗?(申请模块对合同管理模块有依赖性)
如果可能的话,那么哪个camunda属性 - 我应该设置它吗?
我已经尝试了deployment-resource-pattern
的不同组合,但其中未使用。
编辑:我注意到的一件事是,PathMatchingResourcePatternResolver.findAllClassPathResources
从目标加载了所有资源,我的编译模型是在target.classes.processes
中,而Resolver的ClassPath资源是target.classes
,因此似乎没有递归进行,但是IM很难确认此
您可以正确地将deployment-resource-pattern
属性作为起点。默认情况下,它将包括classpath*:**/*.bpmn
,以便您的文件应加载。
表明问题是deployment-resource-pattern
的值已更改,或者合同管理JAR不在classPath上。
我建议您尝试调试应用程序以检查camunda.deployment-resource-pattern
的值。然后查看构建过程,并确保您的应用程序取决于合同管理,其版本相同,而父型POM都在构建它们。