2011-11-01 17 views
1

我正在使用tomcat運行Web應用程序。沒有任何項目添加到我的Tomcat v6.0服務器在本地主機,我啓動服務器,並引發異常。它說沒有類的映射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

嗨,你有什麼操作系統,你有沒有嘗試重新安裝Tomcat? – hovanessyan

+0

一些想法:1)檢查CLASSPATH環境變量並取消設置(如果存在)。 2)檢查您的應用程序的Xerces依賴性。 3)告訴我們更多關於tomcat/lib和你的webapp中的庫的信息(如果有的話)。 – micfra

+0

@hovanessyan,Windows XP否我沒有重新安裝我有Tomcat的zip文件版本。另外,我認爲這更多的是可變路徑問題。 –

回答

2

我很確定您的問題是HP QuickTest。

HP QuickTest設置了修改java bootclasspath的JVM選項 - 討厭的。

我不知道它是如何工作的,但我猜它設置一個環境變量JAVA_OPTS(由Tomcat的啓動腳本拿起)

3個選項(第一是明確的,第二&第三基於我的猜測以上):

  1. 嘗試卸載惠普的QuickTest
  2. Tomcat安裝裏面打開BIN \ catalina.bat中,並嘗試在腳本的開始復位JAVA_OPTS。

事情是這樣的:

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

3:或者,嘗試在你的Eclipse服務器啓動對話框中設置JAVA_OPTS變量(空字符串)

+0

我在工作電腦上,我甚至不知道我安裝了HP QuickTest。我無法卸載它。我試圖重置JAVA_OPTS變量,但我發現我的系統變量被鎖定。所以,如果我無法更改_JAVA_OPTIONS或CLASSPATH,並且我無法卸載HP QT,那麼還有其他選擇嗎? –

+0

嗨Frogger,你試過選項2(* tomcat * \ bin \ catalinat.bat)嗎?您應該能夠在.bat腳本(或命令提示符)中設置變量,因此請嘗試編輯它)。如果你不能編輯這個文件,只需下載另一個Tomcat副本。 Tomcat不需要「安裝」,只需將zip分發解壓縮到您有寫權限的地方,然後編輯catalina.bat – laher

+0

是的,我確實嘗試過。我設置變量_JAVA_OPTIONS =「」,然後重新啓動服務器,它仍然有相同的異常。另外,當我關閉catalina.bat時,變量會自動重置爲鎖定的_JAVA_OPTIONS。關於選項3,如何更改服務器啓動對話框中的變量? –

0

我也面臨着同樣的問題,但我的Apache Tomcat通過Cargo Container包裝器加載。 所以我刪除了這2個env。變量來解決問題

JAVA_TOOL_OPTIONS   -agentlib:jvmhook 
_classload_hook   jvmhook 
相關問題