【问题标题】:apache tomcat issue - 404 errorapache tomcat问题 - 404错误
【发布时间】:2016-04-01 08:17:49
【问题描述】:

我尝试访问我的项目的登录页面,但收到 404 错误。

链接:http://21.176.504.76:8081/test-online

tomcat 启动页面正常显示,所以 tomcat 安装成功

我还没有将我的项目添加到 tomcat 服务器。我通过 env.properties 文件访问登录页面。 env.properties 文件包括以下内容

服务器=http://21.176.504.76:8081

server.local=${server}

contextpath=/test-online

这里 21.176.504.76 是我的 IP 地址

以下是启动 tomcat 服务器时控制台中出现的日志。

2016 年 4 月 1 日上午 8:59:04 org.apache.catalina.core.AprLifecycleListener 初始化 2016 年 4 月 1 日上午 8:59:05 org.apache.coyote.http11.Http11Protocol 初始化 信息:在 http-8080 上初始化 Coyote HTTP/1.1

2016 年 4 月 1 日上午 8:59:05 org.apache.catalina.startup.Catalina 加载 INFO:初始化在 1616 毫秒内处理

2016 年 4 月 1 日上午 8:59:05 org.apache.catalina.core.StandardService 开始 信息:启动服务 Catalina 2016 年 4 月 1 日上午 8:59:05 org.apache.catalina.core.StandardEngine 开始 信息:启动 Servlet 引擎:Apache Tomcat/6.0.45

2016 年 4 月 1 日上午 8:59:12 org.apache.catalina.core.ApplicationContext 日志 信息:初始化 Spring 根 WebApplicationContext 2016 年 4 月 1 日上午 8:59:16 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:16 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:16 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:16 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。 2016 年 4 月 1 日上午 8:59:19 absa.sdfc.icd.configuration.ConfigurationManager getConfiguration 警告:配置为空。配置可能尚未加载。

2016 年 4 月 1 日上午 8:59:20 org.apache.catalina.core.StandardContext listenerStart 严重:向类 org.springframework.web.context.ContextLoaderListener 的侦听器实例发送上下文初始化事件的异常

Throwable 发生:org.springframework.beans.factory.BeanCreationException: 在类路径资源 [backbase-portal-storage.xml] 中定义名称为“portal_userSessionContextFilter”的 bean 创建错误: 设置 bean 属性“userSessionResolverFactory”时无法解析对 bean“portal_userSessionResolverFactory”的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [backbase-portal-storage.xml] 中定义名称为“portal_userSessionResolverFactory”的 bean 创建错误: 设置 bean 属性“commandService”时无法解析对 bean“portal_service_commandService”的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_service_commandService”的 bean 创建错误: 设置构造函数参数时无法解析对 bean 'portal_command_commandsCache' 的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_command_commandsCache”的 bean 创建错误: 调用 init 方法失败;嵌套异常是 java.lang.IllegalStateException: 无法停用事务同步 - 未激活

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(AccessController.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4236)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4739)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

引起:org.springframework.beans.factory.BeanCreationException: 在类路径资源 [backbase-portal-storage.xml] 中定义名称为“portal_userSessionResolverFactory”的 bean 创建错误: 设置 bean 属性“commandService”时无法解析对 bean“portal_service_commandService”的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_service_commandService”的 bean 创建错误: 设置构造函数参数时无法解析对 bean 'portal_command_commandsCache' 的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:

在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_command_commandsCache”的 bean 创建错误: 调用 init 方法失败; 嵌套异常是 java.lang.IllegalStateException: 无法停用事务同步 - 未激活 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 在 java.security.AccessController.doPrivileged(AccessController.java:224) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) ... 33 更多

引起:org.springframework.beans.factory.BeanCreationException:

在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_service_commandService”的 bean 创建错误: 设置构造函数参数时无法解析对 bean 'portal_command_commandsCache' 的引用; 嵌套异常是 org.springframework.beans.factory.BeanCreationException: 在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_command_commandsCache”的 bean 创建错误: 调用 init 方法失败;嵌套异常是 java.lang.IllegalStateException:

无法停用事务同步 - 未激活 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) 在 org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:495) 在 org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:162) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 在 java.security.AccessController.doPrivileged(AccessController.java:224) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) ... 46 更多

引起:org.springframework.beans.factory.BeanCreationException:

在类路径资源 [backbase-portal-storage-service.xml] 中定义名称为“portal_command_commandsCache”的 bean 创建错误: 调用 init 方法失败;嵌套异常是 java.lang.IllegalStateException: 无法停用事务同步 - 未激活 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 在 java.security.AccessController.doPrivileged(AccessController.java:224) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) ... 61 更多

原因:java.lang.IllegalStateException:无法停用事务同步 - 未激活

at org.springframework.transaction.support.TransactionSynchronizationManager.clearSynchronization(TransactionSynchronizationManager.java:274)
at org.springframework.transaction.support.TransactionSynchronizationManager.clear(TransactionSynchronizationManager.java:412)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:905)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:774)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:719)
at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:329)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy11.getLastCommandId(Unknown Source)
at com.backbase.portal.personalization.storage.cache.CommandsCache.updateIfNecessary(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 71 more

2016 年 4 月 1 日上午 8:59:22 org.apache.catalina.core.StandardContext 开始 严重:错误 listenerStart

2016 年 4 月 1 日上午 8:59:22 org.apache.catalina.core.StandardContext 开始

严重:上下文 [/test-online] 由于先前的错误而启动失败

2016 年 4 月 1 日上午 8:59:22 org.apache.catalina.core.ApplicationContext 日志

INFO:关闭 Spring 根 WebApplicationContext

2016 年 4 月 1 日上午 8:59:23 org.apache.coyote.http11.Http11协议开始

信息:在 http-8080 上启动 Coyote HTTP/1.1

2016 年 4 月 1 日上午 8:59:23 org.apache.jk.common.ChannelSocket 初始化

INFO: JK: ajp13 在 /0.0.0.0:8009 上监听

2016 年 4 月 1 日上午 8:59:23 org.apache.jk.server.JkMain 开始

INFO: Jk running ID=0 time=0/214 config=null

2016 年 4 月 1 日上午 8:59:23 org.apache.catalina.startup.Catalina 开始

信息:服务器在 17779 毫秒内启动

【问题讨论】:

    标签: java eclipse apache tomcat


    【解决方案1】:

    spring 找不到这个叫portal_command_commandsCache 的类型。 所以你应该检查你的 ApplicationContext.xml,并确保它有一个正确的名称或正确的类型。当tomcat启动时,spring会将bean注入到类型中。当它没有找到 bean 时,它会抛出这个异常。

    【讨论】:

    • 我找不到 portal_command_commandsCache。我也没有ApplicationContext.xml。我检查了,我有 ApplicationConfig.java 和 Application.xml。我有后台门户 jars
    • 在类路径资源 [backbase-portal-storage-service.xml] 中是否有名为“portal_command_commandsCache”的 bean。因为“portal_service_commandService”应该引用它。并且异常消息打印它找不到它。
    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 2021-06-19
    • 2014-09-11
    • 2011-03-24
    • 1970-01-01
    • 2017-12-17
    • 2017-03-28
    • 2011-03-21
    相关资源
    最近更新 更多