将web应用从Tomcat迁移到WebSphere

将web应用从Tomcat迁移到WebSphere,tomcat,deployment,websphere,war,websphere-8,Tomcat,Deployment,Websphere,War,Websphere 8,我有一个web应用程序,当我在Tomcat上部署它时,它运行良好。然而,当我在WebSphere(8.5.5.0)上部署相同的war(或从war中构建ear)时,我得到以下错误: com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanClassesDir unable to open input stream for resource <Classname>.class - java.lang.Illega

我有一个web应用程序,当我在Tomcat上部署它时,它运行良好。然而,当我在WebSphere(8.5.5.0)上部署相同的war(或从war中构建ear)时,我得到以下错误:

com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanClassesDir 
unable to open input stream for resource <Classname>.class - java.lang.IllegalArgumentException
com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl ScanClasseDir
无法打开resource.class-java.lang.IllegalArgumentException的输入流

请让我知道,在构建war时,在WebSphere上部署是否需要进行任何特定的更改。此外,所有编译过的Java类都会显示错误。

请在问题中添加完整的堆栈跟踪。哪门课不及格?您是否使用与WebSphere运行相同的JDK编译了这些类?我得到的错误如下-java.lang.RuntimeException:com.ibm.ws.naming.util.CannotBindObjectException:Object不是任何可以绑定的类型。com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:196)在com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:297)上,jersey似乎没有在WebPere8.5上运行。Vivek,Jersey默认情况下不与WAS合作,因为WAS正在使用其他JAX-RS提供程序,请在WAS上检查Jersey。经过几周的努力,我发现Websphere需要guava jar(版本16或更高版本)才能运行我的项目。在Tomcat中,项目在没有jar的情况下成功运行。我甚至没有使用那个jar文件。看起来Websphere在某种程度上依赖于要运行的jar。