Camunda 7 in EE mode fails to start - No qualifying bean of type 'org.camunda.bpm.spring.boot.starter.property.CamundaBpmProperties' available

We have a Camunda 7.16.0 application that is using the CE dependencies, but given the customer has an EE license, we are moving over to the EE dependencies. However, when the appliication starts up we get the following exception:

 Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'enterLicenseKeyConfiguration': Unsatisfied dependency expressed through field 'camundaBpmProperties'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.camunda.bpm.spring.boot.starter.property.CamundaBpmProperties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

We have updated the camunda-bpm-spring-boot-starter-webapp dependency to camunda-bpm-spring-boot-starter-webapp-ee.

implementation "org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp-ee:$camundaVersion"
implementation "org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter:$camundaVersion"
implementation "org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest:$camundaVersion"

The camundaVersion property is set to 7.16.0-ee. When the application starts up I see the following dependency version information:

Spring-Boot:  (v2.5.8)
Camunda Platform: (v7.16.0-ee)
Camunda Platform Spring Boot Starter: (v7.16.0-ee)

We have added the license file to the resources directory as follows. My understanding is that this should be picked up by default given the file name and its location (i.e. will be on the classpath):

image

Is there something we are missing, or is this a known issue with a work around? I have tried it with version 7.18.0 and I get the same problem.

Thanks in advance.

So restarting IntelliJ this morning solved the issue! A mystery but there we go.

However, I was still getting the same failure when running the unit tests. I ended adding the following code to a Spring configuration class we use to setup our tests, which solved the problem and am able to run unit tests against the EE version of Camunda.

@Bean
public CamundaBpmProperties camundaBpmProperties() {
    return new CamundaBpmProperties();
}
1 Like