Can´t start flowable-rest api

Hi all,

I’m learning how to use flowable and at the moment, besides flowable-apps, I can´t get flowable-rest api (flowable-rest.war) started.

My environment:

  • Windows 10 v1903 - Build 18362.418
  • Tomcat 9.0.27
  • Java JDK 12.0.2

What I´ve done:

  • Downloaded Flowable from source
  • Build it to produce the .war files
  • Deployed them to Tomcat (except flowable-rest.war)
  • Configured the apps to RW from/to a single MSSQL database

So, everything is working in the apps and now I want to add the rest api (flowable-rest.war) to the mix.

The problem is that when I copy the flowable-rest.war (without any custom configuration, so, for now it will use the h2 database) to the tomcat webapps folder the api gives the exception bellow that i can´t understand why.

The error:

:: Flowable :: (v6.5.0-SNAPSHOT) :: Spring Boot :: (v2.1.9.RELEASE)

2019-10-18 10:11:00.107 INFO 10368 — [ main] o.f.r.a.FlowableRestApplication : Starting FlowableRestApplication v6.5.0-SNAPSHOT on DESKTOP-R28KIK7 with PID 10368 (C:\apache-tomcat-9.0.27\webapps\flowable-rest\WEB-INF\classes started by Joel in c:\apache-tomcat-9.0.27\bin)
2019-10-18 10:11:00.122 INFO 10368 — [ main] o.f.r.a.FlowableRestApplication : No active profile set, falling back to default profiles: default
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/C:/apache-tomcat-9.0.27/webapps/flowable-rest/WEB-INF/lib/groovy-2.5.8.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2019-10-18 10:11:02.617 ERROR 10368 — [ main] o.s.b.SpringApplication : Application run failed

java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration.jacksonObjectMapper

Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration] from ClassLoader [ParallelWebappClassLoader
context: flowable-rest
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@3d71d552
]

    ... 58 more

Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration.jodaDateTimeSerializationModule()Lcom/fasterxml/jackson/databind/module/SimpleModule; @29: invokevirtual
Reason:
Type ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ (current frame, stack[2]) is not assignable to ‘com/fasterxml/jackson/databind/JsonSerializer’
Current Frame:
bci: @29
flags: { }
locals: { ‘org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration’, ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘com/fasterxml/jackson/datatype/joda/cfg/JacksonJodaDateFormat’ }
stack: { ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘java/lang/Class’, ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ }
Bytecode:
0000000: bb00 0359 b700 044c 2ab7 0005 4d2c c600
0000010: 132b 1206 bb00 0759 2c03 b700 08b6 0009
0000020: 572b b0
Stackmap Table:
append_frame(@33,Object[#45],Object[#46])

    ... 58 more

2019-10-18 10:11:02.641 WARN 10368 — [ main] o.s.b.SpringApplication : Unable to close ApplicationContext

java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration] from ClassLoader [ParallelWebappClassLoader
context: flowable-rest
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@3d71d552
]

Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration.jodaDateTimeSerializationModule()Lcom/fasterxml/jackson/databind/module/SimpleModule; @29: invokevirtual
Reason:
Type ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ (current frame, stack[2]) is not assignable to ‘com/fasterxml/jackson/databind/JsonSerializer’
Current Frame:
bci: @29
flags: { }
locals: { ‘org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration’, ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘com/fasterxml/jackson/datatype/joda/cfg/JacksonJodaDateFormat’ }
stack: { ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘java/lang/Class’, ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ }
Bytecode:
0000000: bb00 0359 b700 044c 2ab7 0005 4d2c c600
0000010: 132b 1206 bb00 0759 2c03 b700 08b6 0009
0000020: 572b b0
Stackmap Table:
append_frame(@33,Object[#45],Object[#46])

    at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:3171) ~[?:?]
    at java.lang.Class.getDeclaredMethods(Class.java:2314) ~[?:?]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:489) ~[spring-core-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    ... 62 more

18-Oct-2019 10:11:02.648 SEVERE [main] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\apache-tomcat-9.0.27\webapps\flowable-rest.war]
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1849)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/flowable-rest]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
… 37 more
Caused by: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration.jacksonObjectMapper
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60)
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:181)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:141)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:327)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
… 38 more
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration] from ClassLoader [ParallelWebappClassLoader
context: flowable-rest
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@3d71d552
]

            ... 58 more
    Caused by: java.lang.VerifyError: Bad type on operand stack

Exception Details:
Location:
org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration.jodaDateTimeSerializationModule()Lcom/fasterxml/jackson/databind/module/SimpleModule; @29: invokevirtual
Reason:
Type ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ (current frame, stack[2]) is not assignable to ‘com/fasterxml/jackson/databind/JsonSerializer’
Current Frame:
bci: @29
flags: { }
locals: { ‘org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JodaDateTimeJacksonConfiguration’, ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘com/fasterxml/jackson/datatype/joda/cfg/JacksonJodaDateFormat’ }
stack: { ‘com/fasterxml/jackson/databind/module/SimpleModule’, ‘java/lang/Class’, ‘com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializer’ }
Bytecode:
0000000: bb00 0359 b700 044c 2ab7 0005 4d2c c600
0000010: 132b 1206 bb00 0759 2c03 b700 08b6 0009
0000020: 572b b0
Stackmap Table:
append_frame(@33,Object[#45],Object[#46])

            at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
            at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3171)
            at java.base/java.lang.Class.getDeclaredMethods(Class.java:2314)
            at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:489)
            ... 80 more

18-Oct-2019 10:11:02.653 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\apache-tomcat-9.0.27\webapps\flowable-rest.war] has finished in [56,351] ms