Google App Engine 1.3.1 실행 시의 오류 - javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

이클립스에 구글 앱 엔진 플러그인을 설치한 후 어플리케이션을 하나 만들고, 결과를 확인하려고 '프로젝트명 우클릭 > Run As > Web Application'을 실행했다.

간단한 테스트 앱이라 잘 될거라 생각했는데, 왠걸 이클립스 콘솔에 오류 로그가 주르륵 출력된다.

2010. 2. 28 오후 3:10:52 com.google.apphosting.utils.jetty.JettyLogger warn

경고: failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@ca0115{/,D:\dev\WORKSPACE_APPENGINE\JavaShop\war}

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

    at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:134)

    at org.mortbay.xml.XmlParser.setValidating(XmlParser.java:92)

    at org.mortbay.xml.XmlParser.<init>(XmlParser.java:84)

    at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:202)

    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1215)

    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)

    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)

    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)

    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)

    at org.mortbay.jetty.Server.doStart(Server.java:217)

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)

    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)

    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:147)

    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:219)

    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)

    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)

    at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)

    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)


The server is running at http://localhost:8888/

어쨌든 서버는 시작됐다니까 주소줄에 'http://localhost:8888/'을 넣고 이동해 봤다. 역시 제대로 안뜬다.

구글링 해보니까 'war/WEB-INF/lib' 디렉토리에 xercesImpl.jar 파일을 넣으면 해결된단다. 구글 앱은 XML Parser 관련한 이런 저런 문제가 좀 있는 것 같다.

서버를 죽이려고 구글 앱을 위한 Server View가 있나 찾아 봤는데, 그런건 없다. 콘솔 우측의 Terminate 버튼을 눌러서 서버를 중지한 후 xercesImpl.jar를 복사해 넣어 주고 재시작.

잘 된다.

신고