2014-10-13 3 views
1

현재 Tomcat7 서버에 WAR 파일을 배포하는 데 문제가 있습니다 (Java와 함께 Web dev에 익숙하지 않습니다). 모든 일식 훌륭한 작동하지만 WAR 파일을 생성하고 서버에 배포 할 때 다음 오류가 발생합니다. "구성 요소 [] 시작 실패 다음은 로그 덤프입니다. 내 /META-INF/context.xml 파일을 제거하면 WAR 파일을 배포하는 중 문제가 발생했습니다. 구성 요소를 시작하지 못했습니다 []

Caused by: org.apache.catalina.LifecycleException: Failed to process either the global, per-host or context-specific context.xml file therefore the [] Context cannot be started. 
    at org.apache.catalina.startup.FailedContext.startInternal(FailedContext.java:158) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 31 more 
Oct 13, 2014 7:22:56 PM org.apache.catalina.core.ApplicationContext log 
INFO: HTMLManager: list: Listing contexts for virtual host 'mysite.com' 
Oct 13, 2014 7:23:11 PM org.apache.catalina.core.ApplicationContext log 
INFO: HTMLHostManager: list: Listing hosts for engine [Catalina] 
Oct 13, 2014 8:05:48 PM org.apache.catalina.core.ApplicationContext log 
INFO: HTMLManager: list: Listing contexts for virtual host 'mysite.com' 
Oct 13, 2014 8:06:08 PM org.apache.catalina.core.ApplicationContext log 
INFO: HTMLManager: start: Starting web application '/' 
Oct 13, 2014 8:06:08 PM org.apache.catalina.core.ApplicationContext log 
SEVERE: FAIL - Application at context path/could not be started 
org.apache.catalina.LifecycleException: Failed to start component [] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1291) 
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:694) 
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:217) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to process either the global, per-host or context-specific context.xml file therefore the [] Context cannot be started. 
    at org.apache.catalina.startup.FailedContext.startInternal(FailedContext.java:158) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 31 more 

은 그러나 내 DB 연결을 사용하지 못할 잘로드 것으로 보인다.

내 context.xml은 아래에 있습니다.

<context> 

    <Resource name="jdbc/mysitedb" auth="Container" 
     maxActive="100" maxIdle="30" maxWait="10000" 
     username="myusername" password="mypassword" 
     driverClassName="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://www.mysite.com/mysitedb?autoReconnect=true" 
     logAbandoned="true" removeAbandoned="true" 
     removeAbandonedTimeout="60" type="javax.sql.DataSource" /> 

</context> 

나는 JSP 새로운 그래서 어떤 도움을 크게 감상 할 수입니다. 그게 정말 완전한 context.xml에 있다면

+0

내가 발견 한 것, 당신의 ressource를 구성하는 동안 autoReconnect = true와 같은 설정 값을 갖는 것이 다소 잘못된 것처럼 보입니다.이 구성을 ressource 구성으로 옮겨보십시오.) – jethroo

답변

3

, 당신은 상황에 맞는 요소에 포장해야합니다

<Context> 
    <Resource name="jdbc/mysitedb" auth="Container" 
    maxActive="100" maxIdle="30" maxWait="10000" 
    username="myusername" password="mypassword" 
    driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://www.mysite.com/mysitedb?autoReconnect=true" 
    logAbandoned="true" removeAbandoned="true" 
    removeAbandonedTimeout="60" type="javax.sql.DataSource" /> 
</Context> 

귀하의 Tomcat은 익명의 구성 요소를로드하려고합니다. 깨진 context.xml 일 수 있습니다. 깨진 web.xml에 대해 유사한 오류가 발생할 수 있습니다.

+0

미안하지만 나머지는 컨텍스트 파일의 일부가 페이징되지 않았습니다. 컨텍스트 파일에 래핑됩니다. –

+0

@JarodKnoten이 전체 코드를 게시했지만 코드 블록을 사용하지 않았습니다. 그 이유는''''''태그가 ​​렌더링되지 않았기 때문입니다. 나중에 모든 코드에 대한 코드 블록을 사용하십시오. –

+1

@JarodKnoten 그리고 context.com의 ''은 대문자 C로 시작합니까? 왜냐하면 그것은 ** ** ** 일 뿐이므로 (업데이트 된 질문에서와 같이) ''이 아니기 때문입니다. –

관련 문제