java - 启动时控制台中的 Apache Tomcat 异常

标签 java tomcat

我正在使用 tomcat 来运行网络应用程序。没有任何项目添加到本地主机上的 Tomcat v6.0 服务器,我启动服务器并抛出异常。它说没有类 sun.awt.AppContext 的映射我正在使用 jre6 作为我的运行时。我将 JAVA_HOME 环境变量设置为 jre6 文件夹,并将 Eclipse 设置为相同的文件夹。您知道我为什么会收到此异常以及如何解决吗?

这是我的堆栈跟踪:

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)

谢谢你的想法!

最佳答案

我很确定您的问题是 HP QuickTest。

HP QuickTest 设置了修改 java bootclasspath 的 JVM 选项 - 令人讨厌。

我不确定它到底是如何工作的,但我猜测它设置了一个环境变量 JAVA_OPTS(由 Tomcat 的启动脚本获取)

三个选项(第一个是确定的,第二个和第三个是基于我上面的猜测):

  1. 尝试卸载 HP QuickTest
  2. 打开 Tomcat 安装中的 bin\catalina.bat,并尝试在脚本的开头重置 JAVA_OPTS。

像这样:

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

3:或者,尝试在 Eclipse 服务器启动对话框中设置 JAVA_OPTS 变量(为空字符串)

关于java - 启动时控制台中的 Apache Tomcat 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7973178/

相关文章:

java - 如何将 bootstrap 框架包含在 netbeans Web 应用程序项目中?

java - RxAndroidBle2 配对时有时会丢失 ble 传感器的通知

Java - 从 lambda 中更改最终变量的值

java - 如何以字符串形式发送参数

java - Tomcat 无法访问资源 (Windows) 访问被拒绝

tomcat - 如何更正TomcatFailure

java - BuildConfig 是公共(public)的,应在名为 BuildConfig.java 的文件中声明

tomcat - Windows下的Apache Tomcat : Changing webapps default directory

java - 在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码

java - 如何将 groovy (gradle) 内部的 vm 参数设置为 Tomcat?