Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ClassCastException--Redhat上的错误,而不是Windows上的错误_Java_Apache_Tomcat_Redhat - Fatal编程技术网

Java ClassCastException--Redhat上的错误,而不是Windows上的错误

Java ClassCastException--Redhat上的错误,而不是Windows上的错误,java,apache,tomcat,redhat,Java,Apache,Tomcat,Redhat,我的网站在Tomcat上运行。当我试图访问我的一个页面进行状态检查时,它会检查一个特定的JAR文件。在Red Hat 5上,但在Windows上,我得到以下错误: java.lang.ClassCastException: LoggingPasshashInfo cannot be cast to PasshashInfo 我从第三方那里得到了这个罐子,我正在使用它,就像我得到它一样。根据Apache的tatus页面,RH设置在Tomcat版本7.0.22和JVM版本1.6.0_27-b07上

我的网站在Tomcat上运行。当我试图访问我的一个页面进行状态检查时,它会检查一个特定的JAR文件。在Red Hat 5上,但在Windows上,我得到以下错误:

java.lang.ClassCastException: LoggingPasshashInfo cannot be cast to PasshashInfo
我从第三方那里得到了这个罐子,我正在使用它,就像我得到它一样。根据Apache的tatus页面,RH设置在Tomcat版本7.0.22和JVM版本1.6.0_27-b07上。Windows安装在Tomcat 7.0.19和JVM 1.6.0_26-b03上。红帽的Tomcat在试图修复此问题的过程中从6.0.33升级

无论如何,我在这方面有点新手,除了让设置看起来尽可能相似之外,我不知道如何着手解决这个问题。任何帮助都可以,如果我没有分享任何重要的细节,请告诉我。重申一下,我正在使用的罐子是一个黑匣子

完全错误:

Java.lang.ClassCastException: com.adobe.adept.fulfillment.test.LoggingPasshashInfo cannot be cast to com.adobe.adept.fulfillment.PasshashInfo
    at com.adobe.adept.fulfillment.servlet.Fulfill.<clinit>(Fulfill.java:130)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:127)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:836)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Java.lang.ClassCastException:com.adobe.adept.fulfillment.test.LoggingPasshashInfo无法强制转换为com.adobe.adept.fulfillment.PasshashInfo
位于com.adobe.adept.fulfillment.servlet.Fulfill.(Fulfill.java:130)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于java.lang.Class.newInstance0(Class.java:355)
位于java.lang.Class.newInstance(Class.java:308)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:127)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
位于org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:836)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
运行(Thread.java:662)

我怀疑您在Linux服务器上安装了多个jar文件副本。其结果可能是同一个jar由多个类加载器加载。通常是相关的,但由不相关的类加载器加载的类不能通过强制转换转换。仔细检查jar文件的其他副本——例如,在Tomcat的顶级“server/lib”目录中——并删除除一个之外的所有副本。

您能发布完整的stacktrace吗?我猜包含这两个类中的一个或另一个的jar文件在两个系统上是不同的。或者您可能有两个包含相同类的JAR文件,并且它们在类路径中的顺序基本相反?2) 如果不是,你是否确定你只打包了操作系统特定的jar?我最初在Windows上下载了单个jar,并首先在那里工作。然后我通过本地网络将其传输到RH。这不会弄乱罐子里的东西吧?虽然com.adobe.adept.fulfillment.servlet.fulfillment不是,但这两个类都应该在同一个JAR中。这绝对是我必须调查的事情,因为。。。嗯,我有点假设它会工作,因为我正在使用的其他jar在Unix和Windows之间似乎没有问题。