我正在使用 Maven 和 WebLogic。使用 Maven 构建我的应用程序时,我可以使用管理控制台在我的本地 Weblogic 上成功地手动安装它。
当尝试使用 Eclipse IDE 在服务器上部署相同的应用程序时,我得到了一个 NoClassDefFoundError。 (我在 Eclipse 中的 Oracle Weblogic Server 工具中尝试了 “发布为虚拟应用程序” 和“发布为分解存档”)。
我的应用程序结构如下:
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 and Export 和 Deployment 中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、Eclipse 4.4.0 (20140612-0600) 和 Oracle WebLogic Server Tools 7.2.1.201407111426。
有什么办法可以调查这个问题吗?
最佳答案
将依赖项从 APP-INF/lib/
移动到 lib/
文件夹似乎可以解决问题,但我不知道为什么。
关于java - 从 Eclipse 部署 WebLogic 应用程序时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25604532/