2011-11-01 3 views
1

웹 응용 프로그램을 실행하는 데 tomcat을 사용하고 있습니다. localhost에서 Tomcat v6.0 Server에 프로젝트를 추가하지 않으면 서버가 시작되고 예외가 발생합니다. 그것은 sun.awt.AppContext 클래스에 대한 매핑이 없다고 말한다. jre6을 나의 런타임으로 사용하고있다. 내 JAVA_HOME 환경 변수를 jre6 폴더로 설정하고 동일한 Eclipse로 설정했습니다. 왜 내가이 예외를 받고 어떻게 해결할 수 있는지 알고 있습니까? 시작시 콘솔의 Apache Tomcat 예외

Nov 1, 2011 5:21:36 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\oracle\Ora11g\BIN\;C:\Program Files\Serena\Dimensions 2009 R1\CM\prog;C:\Program Files\Serena\Dimensions 2009 R1\CM\prog\Microsoft.VC80.MFC;C:\Program Files\Serena\Dimensions 2009 R1\CM\prog\Microsoft.VC80.CRT;C:\Program Files\Serena\Dimensions 2009 R1\CM\prog\Microsoft.VC80.ATL;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\OTG;C:\Program Files\Windows Imaging\;C:\Program Files\IBM\Personal Communications\;C:\Program Files\IBM\Trace Facility\;C:\Program Files\HP\QuickTest Professional\bin;c:\PROGRA~1\IBM\SQLLIB\BIN;c:\PROGRA~1\IBM\SQLLIB\FUNCTION;c:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\Program Files\Eclipse 3.7\apache-maven-3.0.3\bin; C:\Program Files\Java\jre6\bin;C:\Program Files\HP\QuickTest Professional\bin 
    Letting agent QTJA do the transformation 
    Letting agent QTOR do the transformation 
    java.util.NoSuchElementException: No mapping for class sun.awt.AppContext 
     at com.mercury.bcel.TransformerXmlFile$MappingLocator.setMapping(TransformerXmlFile.java:96) 
     at com.mercury.bcel.TransformerFactory.createTransformer(TransformerFactory.java:56) 
     at com.mercury.bcel.TransformerMainImpl.transform(TransformerMainImpl.java:33) 
     at com.mercury.bcel.TransformerMain.transform(TransformerMain.java:35) 
     at com.mercury.javashared.transform.TransformersChain.transform(TransformersChain.java:32) 
     at com.mercury.javashared.transform.CommunicationThread.processTransformRequest(CommunicationThread.java:61) 
     at com.mercury.javashared.transform.CommunicationThread.run(CommunicationThread.java:38) 

당신의 생각 주셔서 감사합니다 :

여기 내 스택 추적입니다!

+0

안녕하세요, 귀하의 OS는 무엇입니까? Tomcat을 다시 설치하려고 했습니까? – hovanessyan

+0

몇 가지 생각 : 1) CLASSPATH 환경 변수를 확인하고, CLASSPATH 환경 변수가 있으면 설정을 해제하십시오. 2) 앱의 Xerces 의존성을 확인하십시오. 3) tomcat/lib에있는 라이브러리와 webapp에있는 라이브러리에 대해 자세히 알려주십시오. – micfra

+0

@hovanessyan, Windows XP 아니요 다시 설치하지 않았습니다. Tomcat의 zip 파일 버전이 있습니다. 또한 가변 경로 지정과 관련된 문제라고 생각합니다. –

답변

2

저는 여러분의 문제가 HP QuickTest라고 확신합니다.

HP QuickTest는 Java bootclasspath - nasty를 수정하는 JVM 옵션을 설정합니다.

내가 그것을 작동 정확히 모르겠지만, 나는 그것이

3 옵션 (Tomcat의 시작 스크립트에 의해 포착 된) 환경 변수 JAVA_OPTS를 설정 같은데요 (첫번째 명확한, 두 번째 & 세 번째입니다) 위의 내 추측을 기반으로합니다

  1. 시도는
  2. 는 톰캣 설치 내부에 빈 \의 catalina.bat를 열고 스크립트의 시작 JAVA_OPTS를 재설정 해보십시오 HP QuickTest을 제거. 이 같은

뭔가 :

echo "Current JAVA_OPTS (resetting to ''):" 
    echo %JAVA_OPTS% 
    set JAVA_OPTS="" 

3 : 또는, 나는 또한 같은 문제에 직면

+0

저는 업무용 컴퓨터에 있는데 HP QuickTest를 설치했는지조차 모릅니다. 나는 그것을 제거 할 수 없다. JAVA_OPTS 변수를 재설정하려고했지만 시스템 변수가 잠겨 있음을 발견했습니다. 그래서 _JAVA_OPTIONS 또는 CLASSPATH를 변경할 수없고 HP QT를 제거 할 수없는 경우 대안이 있습니까? –

+0

안녕하세요 Frogger, 옵션 2 (* tomcat * \ bin \ catalinat.bat)를 사용해 보셨습니까? .bat 스크립트 (또는 명령 프롬프트)에서 변수를 설정할 수 있어야하므로 편집 해보십시오. 이 파일을 편집 할 수 없으면 Tomcat의 다른 복사본을 다운로드하면됩니다. Tomcat은 '설치'할 필요가 없습니다. 쓰기 권한이있는 곳에서 압축 배포를 압축 해제 한 다음 catalina.bat를 편집하십시오. – laher

+0

그래, 해보았습니다. _JAVA_OPTIONS = ""변수를 설정하고 서버를 다시 시작했지만 여전히 동일한 예외가있었습니다. 또한, catalina.bat를 닫으면 변수가 잠긴 _JAVA_OPTIONS로 자동 재설정됩니다. 옵션 3의 경우 서버 시작 대화 상자에서 변수를 어떻게 변경합니까? –

0

대화 이클립스 서버 시작에 (빈 문자열) JAVA_OPTS 변수를 설정하려고하지만 내 아파치 Tomcat은화물 컨테이너 래퍼를 통해 적재되었습니다. 그래서이 2 env를 제거했습니다. 문제를 해결하기위한 변수

JAVA_TOOL_OPTIONS   -agentlib:jvmhook 
_classload_hook   jvmhook