You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过JAR打包在Camunda Spring Boot应用间复用DMN?

可以将包含DMN文件的Camunda Spring Boot应用打包为JAR供其他应用复用
  • 调整原应用的打包配置
    不要直接用Spring Boot默认的可执行JAR(包含全套依赖,不适合作为依赖引入),需要修改构建配置生成普通类库JAR:

    • Maven:移除spring-boot-maven-plugin的executable配置,改用maven-jar-plugin打包仅包含自身代码和资源(DMN文件)的JAR。
    • Gradle:使用jar任务替代bootJar任务,确保生成的JAR不包含Spring Boot启动依赖。
  • 确保DMN文件被正确打包
    将需复用的DMN文件放在原应用的src/main/resources目录下(比如src/main/resources/dmn/),打包时这些文件会被包含在JAR的resources路径中,方便目标应用读取。

  • 在目标应用中引入该JAR依赖

    • Maven:将打包好的JAR安装到本地仓库(执行mvn install:install-file)或上传至私有仓库,然后在目标应用的pom.xml中添加对应依赖坐标。
    • Gradle:将JAR放入本地/私有仓库后,在build.gradle中添加依赖配置。
  • 在目标应用中加载复用的DMN
    Camunda会自动扫描类路径下的DMN文件,JAR引入后,目标应用启动时会自动加载这些决策表,你可以直接通过决策表的key调用,和使用本地DMN无差异。若需指定扫描路径,可自定义Camunda配置:

    @Bean
    public DecisionEngineConfiguration decisionEngineConfiguration() {
        DecisionEngineConfiguration config = new DecisionEngineConfigurationImpl();
        config.setResourceRootPath("classpath:dmn/");
        return config;
    }
    
  • 注意事项

    • 保证两个应用的Camunda版本一致,避免DMN解析的兼容性问题。
    • 打包时尽量只保留DMN文件和必要辅助类,不要引入无关业务代码和依赖,防止出现依赖冲突。

内容的提问来源于stack exchange,提问作者Sunny Sonar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:57:04