Skip to content

Eureka Server Packaged in War not running in tomcat. #4526

@lobmarib

Description

@lobmarib

Describe the bug
A Spring Boot application as Eureka Server, packaged in a war doesn't work on tomcat (11).

Error log:

2026-01-20T14:01:23.428Z  WARN 84577 --- [server] [alina-utility-2] WarDeploymentApplicationContextFactory$1 : Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration.replicationClientAdditionalFilters
2026-01-20T14:01:23.434Z  INFO 84577 --- [server] [alina-utility-2] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2026-01-20T14:01:23.442Z ERROR 84577 --- [server] [alina-utility-2] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration.replicationClientAdditionalFilters
	at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:100) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:196) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:124) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:458) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:310) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:794) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) ~[spring-context-7.0.2.jar:7.0.2]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:205) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:181) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:109) ~[spring-boot-4.0.1.jar:4.0.1]
	at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171) ~[spring-web-7.0.2.jar:7.0.2]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4416) ~[catalina.jar:11.0.15]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:564) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:663) ~[catalina.jar:11.0.15]
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:923) ~[catalina.jar:11.0.15]
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1839) ~[catalina.jar:11.0.15]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) ~[na:na]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) ~[na:na]
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:81) ~[tomcat-util.jar:11.0.15]
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:124) ~[na:na]
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:727) ~[catalina.jar:11.0.15]
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:378) ~[catalina.jar:11.0.15]
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1628) ~[catalina.jar:11.0.15]
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:260) ~[catalina.jar:11.0.15]
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:938) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1137) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1141) ~[catalina.jar:11.0.15]
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1119) ~[catalina.jar:11.0.15]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) ~[na:na]
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:369) ~[na:na]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:310) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[na:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) ~[tomcat-util.jar:11.0.15]
	at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na]
Caused by: java.lang.IllegalStateException: @ConditionalOnMissingBean did not specify a bean using type, name or annotation and the attempt to deduce the bean's type failed
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.validate(OnBeanCondition.java:654) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:600) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:147) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	... 43 common frames omitted
Caused by: org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanTypeDeductionException: Failed to deduce bean type for org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration.replicationClientAdditionalFilters
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:683) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanType(OnBeanCondition.java:673) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:593) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	... 45 common frames omitted
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration] from ClassLoader [ParallelWebappClassLoader
  context: server-0.0.1-SNAPSHOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@1f17ae12
]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483) ~[spring-core-7.0.2.jar:7.0.2]
	at org.springframework.util.ReflectionUtils.findMethod(ReflectionUtils.java:240) ~[spring-core-7.0.2.jar:7.0.2]
	at org.springframework.util.ReflectionUtils.findMethod(ReflectionUtils.java:221) ~[spring-core-7.0.2.jar:7.0.2]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.findBeanMethod(OnBeanCondition.java:712) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.getMethodReturnType(OnBeanCondition.java:707) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.getReturnType(OnBeanCondition.java:691) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:680) ~[spring-boot-autoconfigure-4.0.1.jar:4.0.1]
	... 47 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/web/server/autoconfigure/ServerProperties
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na]
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3035) ~[na:na]
	at java.base/java.lang.Class.getDeclaredMethods(Class.java:2331) ~[na:na]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465) ~[spring-core-7.0.2.jar:7.0.2]
	... 53 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.web.server.autoconfigure.ServerProperties
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1225) ~[catalina.jar:11.0.15]
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1056) ~[catalina.jar:11.0.15]
	... 57 common frames omitted

20-Jan-2026 14:01:23.444 SEVERE [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [server-0.0.1-SNAPSHOT.war]
	java.lang.IllegalStateException: Error starting child
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:567)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:663)
		at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:923)
		at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1839)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:81)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:124)
		at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:727)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:378)
		at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1628)
		at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:260)
		at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
		at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:938)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1137)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1141)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1119)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
		at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:369)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:310)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)
		at java.base/java.lang.Thread.run(Thread.java:1447)
	Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/server-0.0.1-SNAPSHOT]]
		at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:404)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:179)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:564)
		... 23 more
	Caused by: java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration.replicationClientAdditionalFilters
		at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60)
		at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:100)
		at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:196)
		at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148)
		at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:124)
		at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:458)
		at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:310)
		at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349)
		at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118)
		at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:794)
		at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602)
		at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756)
		at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445)
		at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
		at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:205)
		at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:181)
		at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:109)
		at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4416)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
		... 24 more
	Caused by: java.lang.IllegalStateException: @ConditionalOnMissingBean did not specify a bean using type, name or annotation and the attempt to deduce the bean's type failed
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.validate(OnBeanCondition.java:654)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:600)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:147)
		at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47)
		... 43 more
	Caused by: org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanTypeDeductionException: Failed to deduce bean type for org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration.replicationClientAdditionalFilters
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:683)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanType(OnBeanCondition.java:673)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:593)
		... 45 more
	Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration] from ClassLoader [ParallelWebappClassLoader
  context: server-0.0.1-SNAPSHOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@1f17ae12
]
		at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483)
		at org.springframework.util.ReflectionUtils.findMethod(ReflectionUtils.java:240)
		at org.springframework.util.ReflectionUtils.findMethod(ReflectionUtils.java:221)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.findBeanMethod(OnBeanCondition.java:712)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.getMethodReturnType(OnBeanCondition.java:707)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.getReturnType(OnBeanCondition.java:691)
		at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:680)
		... 47 more
	Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/web/server/autoconfigure/ServerProperties
		at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
		at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3035)
		at java.base/java.lang.Class.getDeclaredMethods(Class.java:2331)
		at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465)
		... 53 more
	Caused by: java.lang.ClassNotFoundException: org.springframework.boot.web.server.autoconfigure.ServerProperties
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1225)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1056)
		... 57 more
20-Jan-2026 14:01:23.444 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [server-0.0.1-SNAPSHOT.war] has finished in [2,649] ms

Sample

To reproduce, use the Spring Initializr by selecting:

  • java 25
  • spring boot 4.0.1
  • packaging war
  • add dependencies: spring web, eureka server

Edit the Application java class to include the @EnableEurekaServer.
Build it and deploy the war into tomcat 11

Discussion started here

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions