从Eclipse部署WebLogic应用程序时出现NoClassDefFoundError错误

问题描述:

我正在使用Maven和WebLogic。当使用Maven构建我的应用程序时,我可以使用管理控制台在我的本地Weblogic上手动成功安装它。从Eclipse部署WebLogic应用程序时出现NoClassDefFoundError错误

当试图在使用Eclipse IDE的服务器上部署相同的应用程序时,我得到一个NoClassDefFoundError。 (我试过都与“发布为虚拟应用程序”“发布为展开的归档”在Eclipse的Oracle WebLogic服务器工具)。

我的应用程序的结构如下:

MyApp.ear contains: 
- MyWar1.war 
- MyWar2.war 
- MyEjb.jar (ejb module, using maven-ejb-plugin) 
    - MyJar.jar (another project, as dependency) 

而且它的这个MyJar.jar,似乎在类路径中没有找到。我已经检查了在Eclipse设置中,该项目包含在Java Build Path \ Project,Java Build Path/Order和Export以及部署程序集中,用于MyEjb项目。

我也检查了由Eclipse构建的文件夹,eclipse-workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\MyApp,我可以看到文件夹APP-INF\lib\MyJar.jar和相应的.class文件。当我尝试手动安装这个文件夹时,我得到了同样的错误(NoClassDefFoundError)。

我使用的Weblogic 10.3.3,Maven的3.2.1,4.4.0的Eclipse(20140612-0600)和Oracle WebLogic Server工具7.2.1.201407111426。

任何想法我可以调查这个问题?

+0

有你比较你的耳朵爆炸是手动作品(只是一个简单的'罐子xvf命令MyApp.ear')到你的耳朵爆炸从日食,看看有什么不同? – 2014-09-02 16:02:06

移动依赖从APP-INF/lib/lib/文件夹似乎解决这个问题,但我不知道为什么。