我有一个Java EE Maven项目,据说已成功部署在Oracle Weblogic 12.1.1服务器中。我错误地将它部署到本地Oracle Weblogic 12.1.2服务器进行开发,没有任何问题。在找到正确的Weblogic版本后,我在本地安装了Oracle Weblogic 12.1.1,并尝试使用Eclipse Kepler 4.3在那里部署项目。
令我惊讶的是,该项目无法部署,抛出以下例外情况:
<Jul 12, 2014 5:40:08 PM CDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1405204805509" for task "0". Error is: "java.lang.ClassNotFoundException: org.atmosphere.cpr.AsyncSupportListener"
java.lang.ClassNotFoundException: org.atmosphere.cpr.AsyncSupportListener
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: org.atmosphere.cpr.AsyncSupportListener
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Truncated. see log file for complete stacktrace
>
<Jul 12, 2014 5:40:08 PM CDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating distribute task for application "_auto_generated_ear_".>
<Jul 12, 2014 5:40:08 PM CDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
java.lang.ClassNotFoundException: org.atmosphere.cpr.AsyncSupportListener
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: org.atmosphere.cpr.AsyncSupportListener
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Truncated. see log file for complete stacktrace
>
通过“不部署”,我的意思是显然WAR甚至没有发布到Weblogic,因为项目的URL返回404错误。
堆栈显示缺少一个Java类:org.atmosphere.cpr.AsyncSupportListener,虽然我没有在我的项目中使用该类。
我试图通过将缺少的包(“org.atmosphere.cpr”)的相应依赖项添加到pom.xml来解决该问题,但是在这样做之后,出现了其他异常,表明缺少与JBoss和Jetty相关的类虽然我也没有在项目中使用任何这些组件。
在我所拥有的两种环境中都会出现同样的情况:一种在Mac OS X Mavericks中,另一种在Windows 8中。
有人可以就如何解决这个问题给我一些指导吗?