Cannot deploy DMN within springboot project

Hi,

Im getting the following error , when starting my Springboot application, with a DMNfile located with : -src/main/resources/dmn directory .

org.camunda.bpm.engine.ProcessEngineException: ENGINE-22004 Unable to transform DMN resource 'dmn/simulation (2).dmn'.
	at org.camunda.bpm.engine.impl.dmn.DecisionLogger.exceptionParseDmnResource(DecisionLogger.java:59)
	at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:67)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.transformResource(AbstractDefinitionDeployer.java:99)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.parseDefinitionResources(AbstractDefinitionDeployer.java:74)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:64)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:54)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:51)
	at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:482)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer.deploy(CacheDeployer.java:51)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.deploy(DeploymentCache.java:67)
	at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:65)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:486)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:142)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:130)
	at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:482)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.doExecute(DeployCmd.java:130)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:96)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:76)
	at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28)
	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:107)
	at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:46)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:44)
	at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70)
	at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
	at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deployWithResult(RepositoryServiceImpl.java:102)
	at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deployWithResult(DeploymentBuilderImpl.java:270)
	at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:266)
	at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:63)
	at org.camunda.bpm.container.impl.deployment.DeployProcessArchiveStep.performOperationStep(DeployProcessArchiveStep.java:146)
	at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:120)
	at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:160)
	at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:216)
	at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:102)
	at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:66)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.start(SpringProcessApplication.java:110)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.afterPropertiesSet(SpringProcessApplication.java:119)
	at org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication.afterPropertiesSet(SpringBootProcessApplication.java:101)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:96)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:52)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at za.co.telkom.bpmn.TelkomFixedLineBPMNProcessApplication.main(TelkomFixedLineBPMNProcessApplication.java:26)
Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02003 Unable to transform decisions from input stream.
	at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.unableToTransformDecisionsFromInputStream(DmnTransformLogger.java:51)
	at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:114)
	at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.modelInstance(DefaultDmnTransform.java:119)
	at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:61)
	... 53 common frames omitted

Hi @Nkosi_M,

Below post might be of help to you

If you are following process application approach then you need to add dmn as a value for additionalResourceSuffixes property

Otherwise you need to add below to your application.yml file

camunda.bpm:
  deployment-resource-pattern:
    - classpath*:**/*.bpmn
    - classpath*:**/*.bpmn20.xml
    - classpath*:**/*.dmn
    - classpath*:**/*.dmn11.xml

Thanks for the prompt response ,
I tried adding the above configs to my application.properties file as such :

camunda.bpm.deployment-resource-pattern=classpath*:**/*.dmn

i do see that on startup, the engine does deploy the .dmn process but still getting the error :

26-01-2022 15:37:30.597 e[35m[main]e[0;39m e[1;31mERRORe[0;39m org.camunda.bpm.engine.context.logError(160) - ENGINE-16004 Exception while closing command context: ENGINE-22004 Unable to transform DMN resource 'processes/simulation.dmn'.
org.camunda.bpm.engine.ProcessEngineException: ENGINE-22004 Unable to transform DMN resource 'processes/simulation.dmn'.

Validate the DMN file using online tool provided by Camunda.

https://consulting.camunda.com/dmn-simulator/

On the simulator, the file doesn’t have any errors. its just the adding to a spring project, resources folder and deploying, thats giving the above error

Hi @Nkosi_M,

What is the version of Camunda Platform you are using?

Can you please share your dmn model.

Please see below

<camunda.version>7.11.0</camunda.version>type or paste code here

decision_tbl_fallout_type.dmn (11.1 KB)

The following libs

        <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-bom</artifactId>
                <version>${camunda.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
and .................

        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
            <version>${camunda.springboot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
            <version>${camunda.springboot.version}</version>
        </dependency>

The error refers to a different name “simulation.dmn” than the shared file. Can you please make sure that there is no resource with the name simulation.dmn

its the same error, I had renamed the file from simulation to decision_tbl_fallout_type.dmn

26-01-2022 16:53:57.555 e[35m[main]e[0;39m e[1;31mERRORe[0;39m org.camunda.bpm.engine.context.logError(160) - ENGINE-16004 Exception while closing command context: ENGINE-22004 Unable to transform DMN resource 'decision_tbl_fallout_type.dmn'.
org.camunda.bpm.engine.ProcessEngineException: ENGINE-22004 Unable to transform DMN resource 'decision_tbl_fallout_type.dmn'.
	at org.camunda.bpm.engine.impl.dmn.DecisionLogger.exceptionParseDmnResource(DecisionLogger.java:59)
	at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:67)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.transformResource(AbstractDefinitionDeployer.java:99)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.parseDefinitionResources(AbstractDefinitionDeployer.java:74)
	at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:64)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:54)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:51)
	at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:482)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer.deploy(CacheDeployer.java:51)
	at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.deploy(DeploymentCache.java:67)
	at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:65)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:486)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:142)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:130)
	at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:482)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.doExecute(DeployCmd.java:130)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:96)
	at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:76)
	at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28)
	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:107)
	at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:46)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:44)
	at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70)
	at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
	at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deployWithResult(RepositoryServiceImpl.java:102)
	at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deployWithResult(DeploymentBuilderImpl.java:270)
	at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:266)
	at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:63)
	at org.camunda.bpm.container.impl.deployment.DeployProcessArchiveStep.performOperationStep(DeployProcessArchiveStep.java:146)
	at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:120)
	at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:160)
	at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:216)
	at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:102)
	at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:66)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.start(SpringProcessApplication.java:110)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.afterPropertiesSet(SpringProcessApplication.java:119)
	at org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication.afterPropertiesSet(SpringBootProcessApplication.java:101)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:96)
	at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:52)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at za.co.telkom.bpmn.TelkomFixedLineBPMNProcessApplication.main(TelkomFixedLineBPMNProcessApplication.java:26)
Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02003 Unable to transform decisions from input stream.
	at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.unableToTransformDecisionsFromInputStream(DmnTransformLogger.java:51)
	at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:114)
	at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.modelInstance(DefaultDmnTransform.java:119)
	at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:61)
	... 53 common frames omitted
Caused by: org.camunda.bpm.model.dmn.DmnModelException: Unable to parse model
	at org.camunda.bpm.model.dmn.impl.DmnParser.parseModelFromStream(DmnParser.java:71)
	at org.camunda.bpm.model.dmn.Dmn.doReadModelFromInputStream(Dmn.java:241)
	at org.camunda.bpm.model.dmn.Dmn.readModelFromStream(Dmn.java:156)
	at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:111)
	... 55 common frames omitted

Hi @Nkosi_M,

Can you try with a higher version for Camunda Platform

<camunda.version>7.16.0</camunda.version>

For evaluating DMN 1.3 Decisions created using Camunda Modeler, Process Engine version 7.13.0, 7.12.4, 7.11.11, 7.10.17 and above is required

I have upgraded my camunda version

    <camunda.version>7.16.0</camunda.version>
     <camunda.springboot.version>3.4.0</camunda.springboot.version>

But now getting the following error on start up

26-01-2022 17:34:18.555 e[35m[main]e[0;39m e[1;31mERRORe[0;39m org.springframework.boot.SpringApplication.reportFailure(826) - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lazyInitRegistration' defined in class path resource [org/camunda/bpm/spring/boot/starter/webapp/CamundaBpmWebappAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.RuntimeException: javax.servlet.ServletException: Could not read security filter config file '/securityFilterRules.json': no such resource in servlet context.
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at za.co.telkom.bpmn.TelkomFixedLineBPMNProcessApplication.main(TelkomFixedLineBPMNProcessApplication.java:26)
Caused by: java.lang.RuntimeException: javax.servlet.ServletException: Could not read security filter config file '/securityFilterRules.json': no such resource in servlet context.
	at org.camunda.bpm.spring.boot.starter.webapp.filter.LazyDelegateFilter.lazyInit(LazyDelegateFilter.java:48)
	at org.camunda.bpm.spring.boot.starter.webapp.filter.LazyInitRegistration.lazyInit(LazyInitRegistration.java:64)
	at org.camunda.bpm.spring.boot.starter.webapp.filter.LazyInitRegistration.setApplicationContext(LazyInitRegistration.java:82)
	at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:123)
	at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:100)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
	... 15 common frames omitted
Caused by: javax.servlet.ServletException: Could not read security filter config file '/securityFilterRules.json': no such resource in servlet context.
	at org.camunda.bpm.webapp.impl.security.filter.SecurityFilter.loadFilterRules(SecurityFilter.java:119)
	at org.camunda.bpm.webapp.impl.security.filter.SecurityFilter.init(SecurityFilter.java:93)
	at org.camunda.bpm.spring.boot.starter.webapp.filter.LazyDelegateFilter.lazyInit(LazyDelegateFilter.java:46)
	... 22 common frames omitted

Not sure whats causing this, i do not have any spring security implemented

Hi @Nkosi_M,

Try below

:frowning: no luck there… leads to a dead-end because i do not have that spring security dependency in any of my poms.

Would it be possible share your POM.xml file.

See below

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/>
    </parent>

<artifactId>...</artifactId>
    <groupId>za.co.....bpmn</groupId>
    <version>1.0.0</version>

    <packaging>war</packaging>
    <name></name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <....-version>1.0.0</....-version>
        <logback.version>1.2.3</logback.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
        <camunda.version>7.16.0</camunda.version>
        <camunda.springboot.version>3.4.0</camunda.springboot.version>
        <version.rest>3.3.7</version.rest>
        <keycloak.version>13.0.0</keycloak.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-bom</artifactId>
                <version>${camunda.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>za.co.......bpmn</groupId>
            <artifactId>....-bpmn-fixed-line-component</artifactId>
            <version>${....-version}</version>
        </dependency>
        <dependency>
            <groupId>za.co......bpmn</groupId>
            <artifactId>....-bpmn-fixed-line-request-reply</artifactId>
            <version>${...-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>HikariCP</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <!-- <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions> -->
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jersey.contribs</groupId>
                    <artifactId>jersey-apache-client4</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.glassfish.jersey.core</groupId>
                    <artifactId>jersey-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.ws.rs</groupId>
                    <artifactId>jsr311-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- <dependency>
		    <groupId>org.springframework.cloud</groupId>
		    <artifactId>spring-cloud-starter-config</artifactId>
		</dependency> -->
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-parameter-names</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jdk8</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
        </dependency>
        <!-- Start Camunda Dependencies-->
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
            <version>${camunda.springboot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
            <version>${camunda.springboot.version}</version>
        </dependency>
        <!-- End Camunda Dependencies-->
		<dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-boot-starter</artifactId>
		    <version>3.0.0</version>
		</dependency>
		<dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-swagger-ui</artifactId>
		    <version>3.0.0</version>
		</dependency>

		       <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
			<dependency>
			    <groupId>org.projectlombok</groupId>
			    <artifactId>lombok</artifactId>
			    <version>1.18.22</version>
			    <scope>provided</scope>
			</dependency>
		<!-- <dependency>
		    <groupId>org.mock-server</groupId>
		    <artifactId>mockserver-client-java</artifactId>
		    <version>3.10.8</version>
		</dependency> -->
		     <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-spring-boot-starter</artifactId>
            <version>${keycloak.version}</version>
        </dependency>
        <dependency>
			<groupId>org.sonarsource.scanner.api</groupId>
			<artifactId>sonar-scanner-api</artifactId>
			<version>2.16.2.588</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy -->
		<dependency>
		    <groupId>org.codehaus.groovy</groupId>
		    <artifactId>groovy</artifactId>
		    <version>3.0.7</version>
		</dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <version>5</version>
                    <defaultLibBundleDir>lib</defaultLibBundleDir>
                    <modules>
                        <jarModule>
                            <groupId>za.co......bpmn</groupId>
            				<artifactId>...-bpmn-fixed-line-component</artifactId>
                            <bundleFileName>....-bpmn-fixed-line-component.jar</bundleFileName>
                        </jarModule>
                        <jarModule>
                            <groupId>za.co.....bpmn</groupId>
            				<artifactId>...-bpmn-fixed-line-request-reply</artifactId>
                            <bundleFileName>...-bpmn-fixed-line-request-reply.jar</bundleFileName>
                        </jarModule>
                    </modules>
                    <displayName>... Ear</displayName>
                    <generateApplicationXml>true</generateApplicationXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
         <!--   <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.9</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <goals>
                            <goal>build</goal>
                            <goal>push</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <repository>....bpmn/${project.artifactId}</repository>
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>-->
        </plugins>
    </build>
</project>

Have a look at below reported bug

https://jira.camunda.com/browse/CAM-8688?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel

Below is what worked

        <camunda.version>7.13.0</camunda.version>
        <camunda.springboot.version>7.13.0</camunda.springboot.version>

Thank you @hassang

1 Like

Hi @Nkosi_M,

Glad to hear that you managed to resolve it.

Good to hear. I just noted that few points.

When we directly download from maven springboot camunda demo archetype it’s defaulting to JDK1.8. Latest Camunda community version(7.16) requires JDK 1.15. I was able to deploy the DMN file using Camunda 7.16 and JDK 1.15. But unable to launch any webapps. I modified the JDK version to 1.8 with Camunda V7.16, deploy the DMN file without any issues, again i am unable to launch the webapps.

Start.camunda.com maximum supported JDK level is 11, This should allow to support till JDK 15 as Camunda V7.16 requires JDK1.15.

This is my notes while testing the DMN file for the above issues.

1 Like