Problems when renaming teamcity.war to foo#bar.war

I am using version 7.0.2 (build 21349) of TeamCity and installing into an existing tomcat container, following the instructions here:

If I rename the teamcity-7.0.2.war file to foo.war in the webapps directory, then I'm able to see a complete working installation at http://localhost:8111/foo, as expected.

I would like to have the url for teamcity be http://localhost:811/foo/bar. As per the tomcat documentation here:

I rename the .war file to foo#bar.war, and browse to http://localhost:8111/foo/bar and everything *appears* to work fine. This is until I create a new project and attempt to add a new VCS root. The combo box which would usually contain a list of different VCS types is empty.

Type of VCS:                                     -- Choose type of VCS --                                                 

I have attached a complete log file from a minimal demonstration of the problem.

The first ERROR is cut and pasted below. My java-fu is weak, so I'm not sure how best to debug this issue.

So, a few of questions:

1) Is this a TeamCity bug, and should I submit a bug report?
2) Is there a bugfix/work around which I can apply?
3) If not, is there another way to easily have a TeamCity instance running at http://localhost:8111/foo/bar?



[2012-05-11 20:31:45,161]  ERROR - gins.spring.SpringPluginLoader - Failed to initialize spring context for plugin rest-api-6.0
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [] for bean with name 'serverListener' defined in URL [file:/home/timl/tc/temp/spring-rest-api-6.06790097657395104054-spring.config.tmp.xml]; nested exception is java.lang.ClassNotFoundException: Class '' was not found
        at jetbrains.buildServer.plugins.spring.SpringPluginLoader$1.configsExtracted(
        at jetbrains.buildServer.plugins.spring.SpringPluginConfigExtracter.start(
        at jetbrains.buildServer.plugins.spring.SpringPluginLoader.pluginClassesLoaded(
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
        at java.lang.reflect.Method.invoke(
        at jetbrains.buildServer.util.EventDispatcher.dispatch(
        at jetbrains.buildServer.util.EventDispatcher$2.invoke(
        at $Proxy5.pluginClassesLoaded(Unknown Source)
        at jetbrains.buildServer.plugins.PluginManagerImpl$2.visitPlugin(
        at jetbrains.buildServer.plugins.PluginsCollection.foreachLoadedPlugins(
        at jetbrains.buildServer.plugins.PluginManagerImpl.firePluginClassesLoaded(
        at jetbrains.buildServer.plugins.PluginManagerImpl.loadPlugins(
        at jetbrains.buildServer.web.plugins.PluginManagerConfigurator.initializePlugins(
        at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(
        at jetbrains.buildServer.rootDispatcher.TeamCityDispatcherServlet.createServerServlet(
        at jetbrains.buildServer.rootDispatcher.TeamCityDispatcherServlet.processStartupServerInternal(
        at jetbrains.buildServer.rootDispatcher.TeamCityDispatcherServlet.processStartupServerSafe(
        at jetbrains.buildServer.rootDispatcher.TeamCityDispatcherServlet.access$400(
        at jetbrains.buildServer.rootDispatcher.TeamCityDispatcherServlet$
Caused by: java.lang.ClassNotFoundException: Class '' was not found
        at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(

        at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(
        at java.lang.ClassLoader.loadClass(
        at org.springframework.util.ClassUtils.forName(
        ... 28 more


Please sign in to leave a comment.