描述:
tomcat部署多个web工程的时候抛异常:
写道
java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files
原因:
写道
1.Log4jWebConfigurer在初始化日志的时候调用WebUtils.setWebAppRootSystemProperty
2.setWebAppRootSystemProperty的时候
String param = servletContext.getInitParameter(WEB_APP_ROOT_KEY_PARAM);
String key = (param != null ? param : DEFAULT_WEB_APP_ROOT_KEY);
String oldValue = System.getProperty(key);
if (oldValue != null && !StringUtils.pathEquals(oldValue, root)) {
throw new IllegalStateException(
"Web app root system property already set to different value: '" +
key + "' = [" + oldValue + "] instead of [" + root + "] - " +
"Choose unique values for the 'webAppRootKey' context-param in your web.xml files!");
}
key重复报错了
2.setWebAppRootSystemProperty的时候
String param = servletContext.getInitParameter(WEB_APP_ROOT_KEY_PARAM);
String key = (param != null ? param : DEFAULT_WEB_APP_ROOT_KEY);
String oldValue = System.getProperty(key);
if (oldValue != null && !StringUtils.pathEquals(oldValue, root)) {
throw new IllegalStateException(
"Web app root system property already set to different value: '" +
key + "' = [" + oldValue + "] instead of [" + root + "] - " +
"Choose unique values for the 'webAppRootKey' context-param in your web.xml files!");
}
key重复报错了
解决方式:
web.xml中设置不同的
public static final String WEB_APP_ROOT_KEY_PARAM = "webAppRootKey";
如:
<context-param> <param-name>webAppRootKey</param-name> <param-value>www.linkrmb.com</param-value> <description>领客网目标:扫遍京东、天猫折扣最低的商品!</description> </context-param>
尽可能的用域名或者host等唯一性比较强的做key
其默认值为:
public static final String DEFAULT_WEB_APP_ROOT_KEY = "webapp.root";
相关推荐
在Java Web开发中,路径问题是一个常见的挑战,尤其是在处理JSP页面、Servlet以及web.xml配置文件时。理解和正确使用路径对于构建稳定、高效的应用程序至关重要。以下是对标题和描述中提及的知识点的深入探讨。 ###...
在Java Web开发中,路径问题往往困扰着许多开发者,尤其是在处理资源定位、文件读取以及配置文件加载等场景时。本文将深入解析Java Web中所有路径问题的解决方法,涵盖Servlet、Action、Controller、Filter、...
- **官方技术**:如JAX-WS(Java API for XML Web Services),它是Sun Microsystems(现已被Oracle收购)提供的官方标准。 - **中间件服务器提供的技术**:如JBoss、WebLogic等应用服务器都内置了自己的Web ...
在Java Web项目中集成Log4j,可以帮助我们更好地管理和跟踪应用程序中的错误、警告和其他信息。下面将详细阐述如何在Web项目中配置Log4j。 首先,我们需要在`web.xml`文件中添加相关的配置参数。这些参数告诉应用...
这个框架可以帮助开发者快速构建一个基于Java的Web应用程序。 一、框架下载 在开始搭建Web框架之前,我们需要下载相关的框架。包括Struts2、Spring和iBATIS三个框架。 1.1 Struts2框架 Struts2框架是Apache开源...
在Java Web开发中,路径问题是一个常见的挑战,尤其是在处理文件操作和资源访问时。路径分为绝对路径和相对路径,理解这两者的区别对于有效地管理和访问文件至关重要。 **绝对路径**是完全指定的路径,从根目录开始...
在软件开发领域,尤其是涉及到Java Web应用程序的构建时,`web.xml`配置文件扮演着至关重要的角色。它是Servlet容器(如Tomcat)的核心配置文件,用于定义应用的行为、初始化参数、Servlet、过滤器、监听器等。以下...
- 修改 `webAppRootKey`:将 `webAppRootKey` 参数的值设置为你的项目名,这有助于确定 Web 应用的根路径。 6. **配置文件拷贝**:将 Red5 的 `src\conf\war` 目录下的其他文件复制到现有项目的源码目录下,确保...
在Java和Web开发中,路径问题常常困扰开发者,因为它们涉及到资源的定位和访问。本文主要探讨如何在Java和Web环境中有效地解决路径问题。 首先,Java中的路径分为绝对路径和相对路径。绝对路径是从根目录开始的完整...
Spring MVC是目前最流行的框架之一,在创建Java Web项目时,web.xml配置文件是Java Web为我们封装的逻辑,不在今天的研究中。web.xml配置文件是Spring MVC框架的核心配置文件,它定义了整个应用程序的结构和行为。 ...
Struts2是一个流行的Java Web应用开发框架,它继承了WebWork的特性并得到了Apache基金会的支持。为了搭建Struts2环境,首先需要从Apache官方站点下载Struts2框架。 - **下载地址**:...
- **说明**:通过设置`webAppRootKey`,可以方便地访问到Web应用的根目录路径,这对于日志文件路径的确定非常有用。 2. **`log4jConfigLocation`**: - **作用**:指定Log4J配置文件的位置。 - **示例**: ```...
这个异常是因为多个项目中的 `web.xml` 文件中没有配置 `webAppRootKey` 项,导致 Tomcat 无法正确地分配项目的根目录。 解决方法 1:配置 webAppRootKey 要解决这个问题,可以在每个项目的 `web.xml` 文件中添加 ...
SpringBoot项目是一个基于Java开发的轻量级框架,它整合了Spring的核心功能并简化了配置,使得开发者可以快速构建可运行的应用程序。Spring Boot的主要设计理念是“约定优于配置”,这大大减少了传统Spring应用中的...
而Jetty则是一款轻量级的Web服务器和Java Servlet容器,特别适合用于开发阶段的快速测试。本文将详细介绍如何利用Maven和Jetty来搭建Web应用程序的开发调试环境。 #### 准备工作 1. **Maven安装:**确保已经在本地...
-- Context Configuration locations for Spring XML files --> <param-name>contextConfigLocation /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml ``` 这样,Struts2的...
tomcat下满足一下条件的: 1、单独部署项目可以正常运行的情况。 2、多个项目一起部署仅部分系统可以使用。...webAppRootKey:就好比身份证,不存在2个人用同一个身份证号。 在同一个tomcat下,它的值是唯一的。
1. **定义WebAppRootKey**:在`web.xml`文件中,添加一个`<context-param>`元素,用来定义一个键值对,如`<param-name>webAppRootKey</param-name>`和`<param-value>amt.root</param-value>`。这个键将在运行时用于...