Tomcat 发布多个项目时抛的webAppRootKey错误
Xml代码
在tomcat的目录conf\Catalina\localhost下,可以增加xml文件,来指向file系统中任意一处作为网站系统的子根目录,例如:
atcs.xml文件:
<!--
Context configuration file for the Tomcat Host Manager Web App
$Id: host-manager.xml 303743 2005-03-11 22:39:26Z remm $
-->
<Context path="/atcs" docBase="D:\WorkSpace\Huadu_Atcs3\WebContent"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
其中docBase指向站点的根目录,path与文件名相同(在此为atcs),这个path最好也要与docBase下的WEB-INF下的web.xml里面的
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>atcs.root</param-value>
</context-param>
paraam-value相同。
三者相同的情况下,才可以正确的访问网站(访问方式:http://localhost:8080/atcs)这样就作为localhost的一个子站点可以运行了。
常
见错误:多个工程目录下的web.xml文件的<param-value>atcs.root</param-value>相
同,就算在tomcat的conf下配置不同的名,例如配置atcs2.xml指向另外一个工程目录,但是恰巧那个工程下的web.xml里面也配置相同
的webAppRootKey,那么将会出现其中一个工程不能够访问的问题。
网页出现经典的The requested resource (/atcs/) is not available错误!
问题发现方法:在myEclipse下配置log4j,之后会将一些不会报出来的错误亦会报出来,根据信息就可以发现是相同的webAppRootKey覆盖问题。在此我的log4j的报错信息:
Web
app root system property already set to different value: 'atcs.root' =
[D:\workspace2\Huadu_Atcs3\WebContent\] instead of
[D:\WorkSpace\Huadu_Atcs3\WebContent\] - Choose unique values for the
'webAppRootKey' context-param in your web.xml files!
当Tomcat启动时抛出webAppRootKey错误时,可启动失败的项目中加入以下参数即可:
Xml代码
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>
unicomEOMS.root
</param-value>
</context-param>
用于设置项目根目录键,重新启动即可
分享到:
相关推荐
这个异常是因为多个项目中的 `web.xml` 文件中没有配置 `webAppRootKey` 项,导致 Tomcat 无法正确地分配项目的根目录。 解决方法 1:配置 webAppRootKey 要解决这个问题,可以在每个项目的 `web.xml` 文件中添加 ...
- 修改 `webAppRootKey`:将 `webAppRootKey` 参数的值设置为你的项目名,这有助于确定 Web 应用的根路径。 6. **配置文件拷贝**:将 Red5 的 `src\conf\war` 目录下的其他文件复制到现有项目的源码目录下,确保...
SpringBoot项目是一个基于Java开发的轻量级框架,它整合了Spring的核心功能并简化了配置,使得开发者可以快速构建可运行的应用程序。Spring Boot的主要设计理念是“约定优于配置”,这大大减少了传统Spring应用中的...
- **context-param**:配置应用程序上下文参数,包括`webAppRootKey`和`log4jConfigLocation`,后者用于指定log4j配置文件的位置。 - **context-param**:配置Spring配置文件的位置,如`/WEB-INF/spring/...
tomcat下满足一下条件的: 1、单独部署项目可以正常运行的...【webAppRootKey】与其他项目下的配置值决不可相同!。 webAppRootKey:就好比身份证,不存在2个人用同一个身份证号。 在同一个tomcat下,它的值是唯一的。
<param-name>webAppRootKey</param-name> <param-value>ji.root</param-value> </context-param> <!-- 应用程序上下文参数 , 指定 log4j日志框架使用的配置参数文件位置 --> <context-param> <param-name>log4...
为了避免因多个项目使用相同的默认键值而引发冲突,可以通过设置`webAppRootKey`来为当前项目指定一个唯一的键值。 ```xml <context-param> <param-name>webAppRootKey</param-name> <param-value>webappby.root...
<param-name>webAppRootKey</param-name> <param-value>webApp.service</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j...
### RED5 + Flex3 入门实例...在实践中可能会遇到各种问题,如兼容性问题、错误处理等,建议查阅官方文档或社区资源获取更多帮助。此外,还可以探索更多高级功能,如流媒体传输、实时通信等,以满足不同场景的需求。
<param-name>webAppRootKey</param-name> <param-value>rhinoceros.root</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*....
它能够帮助开发者在应用程序中记录错误信息、调试信息等,方便后期的问题排查和系统监控。 #### 二、log4j在项目中的使用 在实际开发过程中,为了更好地进行日志管理,通常会选择使用log4j而非Apache的common-...
- **导入 Red5 项目**:将 Red5 项目导入到 Eclipse 工作空间。 - **配置构建路径**:设置必要的构建路径,包括外部库和依赖项。 - **构建并运行应用**:使用 Eclipse 的构建工具编译并运行 Red5 应用。 #### 三、...
7. **配置Red5**:配置Red5涉及到更改配置文件,如将`web.handler`的class属性设置为自定义的Application类,删除不必要的bean,以及修改`webAppRootKey`的值以指定正确的服务路径。 8. **NetConnection对象**:在...