Adding Camunda Enterprise to Spring Boot (Camunda Initializr)

Hello,

I have a question regarding adding the enterprise edition to an existing project. What I tried to do is create a fresh project via the Camunda starter at start . camunda . com (cant post more than 2 links, that why the formatting)

According to the documentation it should be possible to just add a according dependency for the webapp: https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/#using-enterprise-edition

However this did not work. First of all it changes to available versions to:

org.camunda.bpm.springboot camunda-bpm-spring-boot-starter-webapp-ee 3.4.4

Probablly because the -ee version is not in the public Maven Repo. So I tried to search for it in other repositories and added some others, for example these:

<repository>
  <id>camunda-bpm-nexus-ee</id>
  <name>camunda-bpm-nexus-ee</name>
  <url>https://app.camunda.com/nexus/content/groups/public/</url>
</repository>
<repository>
  <id>camunda-bpm-repo1</id>
  <name>camunda-bpm-repo1</name>
  <url>https://repo1.maven.org/maven2/org/camunda/bpm/</url>
</repository>

Now I get this error: Could not find artifact org.camunda.bpm.webapp:camunda-webapp-webjar-ee:pom:7.12.0-ee in camunda-bpm-nexus-ee (https://app.camunda.com/nexus/content/groups/public/)

Do you know what I need to do? Did I use the wrong repository to get the -ee version of the webapp? If so, anyone know where the correct one is?

This here is my current pom.xml:


<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.3.1.RELEASE</version>
    <relativePath/>
  </parent>

  <properties>
    <java.version>8</java.version>
  </properties>

  <groupId>com.example.workflow</groupId>
  <artifactId>my-project</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.camunda.bpm.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
      <version>7.14.0</version>
    </dependency>

    <dependency>
      <groupId>org.camunda.bpm.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
      <version>3.4.4</version>
    </dependency>

    <dependency>
      <groupId>org.camunda.bpm.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
      <version>7.14.0</version>
    </dependency>

    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  <repositories>
    <repository>
      <id>camunda-bpm-nexus-ee</id>
      <name>camunda-bpm-nexus-ee</name>
      <url>https://app.camunda.com/nexus/content/groups/public/</url>
    </repository>
    <repository>
      <id>camunda-bpm-repo1</id>
      <name>camunda-bpm-repo1</name>
      <url>https://repo1.maven.org/maven2/org/camunda/bpm/</url>
    </repository>
  </repositories>

</project>

You need to make sure that you’re getting the EE version for both the engine and the webapps.
Something like this would work:

    <dependency>
      <groupId>org.camunda.bpm.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-rest-ee</artifactId>
      <version>7.14.0-ee</version>
    </dependency>

    <dependency>
      <groupId>org.camunda.bpm.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
      <version>7.14.0-ee</version>
    </dependency>

Do I also need some special repository where these are located?
This brings up the error, that both can’t be found:

You do indeed - and you should also add your EE credentials to your maven settings.xml so that you can access the repo

Is this the correct repository?

<repository>
  <id>camunda-bpm-nexus-ee</id>
  <name>camunda-bpm-nexus-ee</name>
  <url>https://app.camunda.com/nexus/</url>
</repository>

Also the settings.xml is correct like this? does this need to be placed in the /.m2 folder or can I put this directly into the project? Or should I put the repository-Link directly into the settings.xml?

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <server>
            <id>camunda-bpm-ee</id>
            <username>USER</username>
            <password>PW</password>
        </server>
    </servers>
</settings>

And then I need to add the camunda-license.txt as well, correct?

You can add the license after the engine starts up.

Also - the ID in your maven settings needs to match that in the your POM file,
so should be changed to:

 <id>camunda-bpm-nexus-ee</id>

Adjusted this, unfortunetly still no luck. I have tried to restart and invalidate the cache as well.
Still the same messages

Cannot resolve org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp-ee:7.14.0-ee
Cannot resolve org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest-ee:7.14.0-ee

Is there some way to test this to see if the problem comes from my IntelliJ?

You should probably make sure that IntelliJ is reading the settings file - you can check that from inside your IDE.

Looks like if does, I’ve overritten the option as well to try:

Could also be firewall issues - are there any other errors?

Not much. The errors above are all when I try to update the Maven Dependencies.
When I run a Maven Build it only says this:

[INFO] ------------------< com.example.workflow:my-project >-------------------
[INFO] Building my-project 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest-ee:jar:7.14.0-ee is missing, no dependency information available
[WARNING] The POM for org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp-ee:jar:7.14.0-ee is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.041 s
[INFO] Finished at: 2020-12-02T14:36:56+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project my-project: Could not resolve dependencies for project com.example.workflow:my-project:jar:1.0.0-SNAPSHOT: The following artifacts could not be resolved: org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest-ee:jar:7.14.0-ee, org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp-ee:jar:7.14.0-ee: Failure to find org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest-ee:jar:7.14.0-ee in https://app.camunda.com/nexus/ was cached in the local repository, resolution will not be reattempted until the update interval of camunda-bpm-nexus-ee has elapsed or updates are forced -> [Help 1]
[ERROR]

Hi @the-villain,

do you need special proxy-settings to access the internet?

If yes, you have to add them to your settings.xml as well: https://maven.apache.org/guides/mini/guide-proxies.html

Hope this helps, Ingo

I don’t think there are any additional settings, never had proxy-problems before.
Is there a way to test if I can access the .jars by calling or retrieving them manually?

Hi @the-villain,

with your credentials from the trial license you should be able to browse the repository after you logged in.

The repository URL can be found here: https://docs.camunda.org/get-started/apache-maven/#enterprise-edition-1.

Hope this helps, Ingo

Allright, we have it :slight_smile:

So what I did was adjust the repository to exactly the link in the documentation (before it was not the full one, it stopped a sub-directory before):

<repositories>
  <repository>
    <id>camunda-bpm-nexus-ee</id>
    <name>camunda-bpm-nexus</name>
    <url>
      https://app.camunda.com/nexus/content/repositories/camunda-bpm-ee
    </url>
  </repository>
</repositories>

And then changed the dependencies in the pom.xml. However, for me using these worked:

<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
  <version>7.14.0</version>
</dependency>

<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
  <version>7.14.0-ee</version>
</dependency>

and these did not (-ee in starter-rest):

<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-rest-ee</artifactId>
  <version>7.14.0-ee</version>
</dependency>

<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
  <version>7.14.0-ee</version>
</dependency>

The later brings this error: Failure to find org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest-ee:pom:7.14.0-ee in https://app.camunda.com/nexus/content/repositories/camunda-bpm-ee was cached in the local repository, resolution will not be reattempted until the update interval of camunda-bpm-nexus-ee has elapsed or updates are forced

Thx you guys for the support :slight_smile:

2 Likes

Very happy that you managed to find a solution! :slight_smile:

1 Like

@the-villain the above dependency is not enterprise edition library. Mixing up enterprise & non-enterprise camunda dependencies might cause inconvenience.

I have faced same issue longtime back and i solved it by configuring camunda nexus repo like this in the pom.xml and as well check the camunda-bpm-spring-boot-starter-rest dependency configuration as below:

<dependency>
    <groupId>org.camunda.bpm.springboot</groupId>
    <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
    <version>7.13.0-ee</version>
</dependency>

<dependency>
   <groupId>org.camunda.bpm.springboot</groupId>
   <artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
   <version>7.13.0-ee</version> 
</dependency>

<repositories>
    <repository>
      <id>camunda-bpm-nexus-ee</id>
      <name>camunda-bpm-nexus</name>
      <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm-ee</url>
    </repository>
    <repository>
      <id>camunda-bpm-ee</id>
      <name>camunda-bpm-nexus</name>
      <url>https://app.camunda.com/nexus/repositories</url>
    </repository>
  </repositories> 

You can verify those dependencies path in the given camunda nexus repository

@aravindhrs
Yes, I can verify this also works :slightly_smiling_face:
Thank you very much for the input.