[JAVA 오류 조정]-JBoss 가 여러 항목 을 발표 할 때 webAppRootkey 오 류 를 던 집 니 다.
잘못된 유래
이 유 를 말 해 보 세 요.최근 프로젝트 에 로 그 를 추가 하고 프로젝트 에 spring 모니터 를 추가 하 였 습 니 다.
<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/config/log4j.xml</param-value>
    </context-param>
    <!--    watchdog   1800     log4j        -->
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>1800000</param-value>
    </context-param>
    <!--spring log4j    -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>log4jRefreshInterval리 셋 간격,단위 밀리초log4jConfigLocation은log4j파일 경 로 를 설정 하고classpath:xxx형식 으로 도 사용 할 수 있 습 니 다.위 와 같이 설정 한 후 수정
log4j.xml한 후 간격 을 새로 고침 한 후 설 정 된 모니터Log4jConfigListener는 관련 설정 을 다시 불 러 옵 니 다log4j.그리고 JBoss 에서 프로젝트 를 시작 합 니 다.단일 프로젝트 를 시작 하면 문제 가 없 지만 두 개 이상 동시에 시작 할 때 다음 과 같이 보고 합 니 다
ERROR.20:54:07,883 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-exam-scoreanalyze-web]] (ServerService Thread Pool -- 55) JBWEB000287: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener: java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [F:\Program Files\jboss-eap-6.2-itoo4.0\standalone\deployments\itoo-exam-calculatescore-ear.ear\itoo-exam-calculatescore-web.war\] instead of [F:\Program Files\jboss-eap-6.2-itoo4.0\standalone\deployments\itoo-exam-scoreanalyze-ear.ear\itoo-exam-scoreanalyze-web.war\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files! at org.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:150) [spring-web-4.0.9.RELEASE.jar:4.0.9.RELEASE] at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:117) [spring-web-4.0.9.RELEASE.jar:4.0.9.RELEASE] at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:46) [spring-web-4.0.9.RELEASE.jar:4.0.9.RELEASE] at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_60] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60] at org.jboss.threads.JBossThread.run(JBossThread.java:122) 오류 원인
위의 이상 에서 뚜렷 한 힌트:
Web app root system property already set to different value: 'webapp.root' = [F:\Program Files\jboss-eap-6.2-itoo4.0\standalone\deployments\itoo-exam-calculatescore-ear.ear\itoo-exam-calculatescore-web.war\] instead of [F:\Program Files\jboss-eap-6.2-itoo4.0\standalone\deployments\itoo-exam-scoreanalyze-ear.ear\itoo-exam-scoreanalyze-web.war\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!인터넷 에서 찾 아 봤 는데 발생 한 이 유 는 두 웹 프로젝트 가 같은 용기 에서 같은
webAppRootKey을 정 의 했 거나 정의 가 없 었 기 때 문 입 니 다!즉,key은webapp.root이미 항목itoo-exam-calculatescore-web을 가리 키 고 가리 키 지 않 는 다itoo-exam-scoreanalyze-web.웹 응용 서버JBoss/Tomcat는 서로 다른 웹 응용 에 독립 된 시스템 매개 변 수 를 사용 하지 않 습 니 다.즉,응용 서버JBoss/Tomcat의 모든 웹 응용 은 하나의 시스템 매개 변수 대상webAppRootKey을 공유 하고 기본 값 은“webapp.root”이다.여러 웹 애플 리 케 이 션 을 실행 할 때webAppRootKey컨 텍스트 매개 변수 에 따라 서로 다른 웹 애플 리 케 이 션 에 서로 다른 속성 명 을 지정 해 야 여러 웹 애플 리 케 이 션 이 같은 것webAppRootKey을 가리 키 지 않 습 니 다.webAppRootKeyweb프로젝트 의 루트 디 렉 터 리 가 시스템 환경 변수 에 있 는key오류 해결 방안두 가지 해결 방안 이 있다.
제 1 종
문서 수정
web.xml,프로젝트 자체 지정webAppRootKey<!--   app1 web.xml   --> 
<context-param>  
    <param-name>webAppRootKey</param-name>  
    <param-value>app1.root</param-value>  <!--   "webapp.root"           -->
</context-param>  
-------------------        --------------------
<!--   app2 web.xml   -->  
<context-param>  
    <param-name>webAppRootKey</param-name>  
    <param-value>app2.root</param-value>  <!--   "webapp.root"           -->
</context-param>  두 번 째
수정
web.xml      <context-param>
        <param-name>log4jExposeWebAppRoot</param-name>
        <param-value>false</param-value>
    </context-param>log4jExposeWebAppRoot환경 변 수 를 설정 할 지 여부 입 니 다.선택 할 수 있 습 니 다true/false.웹 응용 루트 시스템 속성 이 노출 되 었 는 지 여부 입 니 다.웹 응용 루트 디 렉 터 리 경로 에 비해 로그 파일 을 얻 을 수 있 습 니 다.기본 값 은'true'입 니 다.웹 애플 리 케 이 션 의 루트 시스템 속성 을 노출 하지 않도록'false'로 설정 할 수 있 습 니 다.
[전재 출처 밝 혀 주세요:바 빠 요([JAVA 오류 조정]-JBoss 가 여러 항목 을 발표 할 때 webAppRootkey 오류 던 지기)]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.