Bamboo remote agent fails to start - javax.servlet.ServletContext

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

This KB article is not relevant to any version of Bamboo currently supported. If this fits your current installation, please consider upgrading Bamboo

Symptoms

Installing a remote agent fails with this:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 INFO | jvm 2 | 2012/07/03 17:40:48 | 2012-07-03 17:40:48,158 FATAL [Thread-1] [AgentBootstrap] Exiting due to fatal exception. INFO | jvm 2 | 2012/07/03 17:40:48 | java.lang.reflect.InvocationTargetException INFO | jvm 2 | 2012/07/03 17:40:48 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) INFO | jvm 2 | 2012/07/03 17:40:48 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) INFO | jvm 2 | 2012/07/03 17:40:48 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.reflect.Method.invoke(Method.java:597) INFO | jvm 2 | 2012/07/03 17:40:48 | at com.atlassian.bamboo.agent.bootstrap.AgentRunner.run(AgentRunner.java:41) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.Thread.run(Thread.java:662) INFO | jvm 2 | 2012/07/03 17:40:48 | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'homeLocator' defined in class path resource [applicationContextRemoteAgent.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:451) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:88) INFO | jvm 2 | 2012/07/03 17:40:48 | at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.initApplicationContext(RemoteAgent.java:160) INFO | jvm 2 | 2012/07/03 17:40:48 | at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.start(RemoteAgent.java:53) INFO | jvm 2 | 2012/07/03 17:40:48 | ... 6 more INFO | jvm 2 | 2012/07/03 17:40:48 | Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.Class.getDeclaredMethods0(Native Method) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.Class.privateGetPublicMethods(Class.java:2547) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.Class.getMethods(Class.java:1410) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1284) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1158) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.beans.Introspector.getBeanInfo(Introspector.java:408) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.beans.Introspector.getBeanInfo(Introspector.java:167) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:244) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:143) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:236) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:194) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:177) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.BeanWrapperImpl.<init>(BeanWrapperImpl.java:130) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:753) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717) INFO | jvm 2 | 2012/07/03 17:40:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386) INFO | jvm 2 | 2012/07/03 17:40:48 | ... 16 more INFO | jvm 2 | 2012/07/03 17:40:48 | Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext INFO | jvm 2 | 2012/07/03 17:40:48 | at java.net.URLClassLoader$1.run(URLClassLoader.java:202) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.security.AccessController.doPrivileged(Native Method) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.net.URLClassLoader.findClass(URLClassLoader.java:190) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.ClassLoader.loadClass(ClassLoader.java:306) INFO | jvm 2 | 2012/07/03 17:40:48 | at java.lang.ClassLoader.loadClass(ClassLoader.java:247) INFO | jvm 2 | 2012/07/03 17:40:48 | ... 33 more

Cause

javax.servlet-2.5.0.v...jar file is missing; you might have removed javax.servlet-2.5.0.v...jar file from BAMBOO_INSTALL/atlassian-bamboo/WEB-INF/lib directory (maybe for trying to run Bamboo on Tomcat).

Resolution

Every time a remote agent fails to start, you should check if you are using the same hostname or IP address for your Bamboo Base URL (Administartion -> General Configuration tab) and for your Broker URI in BAMBOO_HOME/bamboo.cfg.xml file:

1 2 <property name="bamboo.jms.broker.client.uri">failover:(tcp://URL_GOES_HERE:54663?wireFormat.maxInactivityDuration=300000)?maxReconnectAttempts=10&amp;initialReconnectDelay=15000</property> <property name="bamboo.jms.broker.uri">tcp://0.0.0.0:54663?wireFormat.maxInactivityDuration=300000</property>

After, please check if the javax.servlet-2.5...jar exists in the BAMBOO_INSTALL/atlassian-bamboo/WEB-INF/lib directory. If it doesn't, then feel free to download the same version of a stand alone Bamboo again, extract the files from the downloaded archive file, and copy the needed file to BAMBOO_INSTALL/atlassian-bamboo/WEB-INF/lib directory.

Another possibility could be that you are using an unsupported version of Tomcat. Note that tomcat 7 is still not supported yet

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.