ClassNotFoundException在weblogic 10.3.6中的爆炸式ear中部署Spring上下文

时间:2012-11-22 18:21:29

标签: java spring java-ee weblogic

我在Weblogic中使用爆炸式耳朵部署布局来开发应用程序,在向这个旧应用程序添加新项目之后,它将不再部署,在尝试从WEB /加载实际应用程序代码时抛出ClassNotFoundException WEB-INF /类。

目录树如下所示:

my_run 
    |
    ---- EJB
    |
    ----META-INF
    |
    ----WEB
          |
          META-INF
          |
          WEB-INF
              |
              classes
              |
              lib

在开始之前,我的同事们已经成功部署了WEB / WEB-INF / lib目录中所有必需的jar库,并且还复制到了Weblogic域lib目录中。我认为EJB导致了复杂性,因为它是EJB2.0遗留的东西。

现在这样做对我来说不起作用,并且在我启动服务器或只是app时无法加载Hibernate的错误。然后我在Weblogic域lib中使用Hibernate尝试了它,然后无法加载Spring。

我今天花了整整8个小时来搜索这个问题并阅读并尝试了几乎可以用Weblogic完成的所有事情,包括weblogic jar prefs xml条目,这些条目给出了非常奇怪的xml相关的类转换问题。

我尝试将其简化为基础并清空除了JDBC jar之外的所有内容的weblogic域库以及Weblogic安全性等所需的东西,但我找不到解决方案。

我尝试在application.xml中使用,但没有用。

我尝试将Class-Path条目放入MANIFEST.MF并获得相同的结果。

当然这不是那么复杂吗?

我现在已经在WEB-INF / lib目录和Weblogic域lib中拥有所有必需的jar,并且app无法找到自己的Hibernate pojos。

1 个答案:

答案 0 :(得分:1)

我找不到答案,并将必要的JAR文件放在服务器的lib目录中(user_projects / domains / {mydomain} / lib / * .jar)。它似乎工作,但它是修复的一个障碍。找不到更好的东西。

编辑: this question中,我发布了一个更好的kludge,涉及在服务器启动脚本中设置PRE_CLASSPATH。仍然是一个kludge,但上面的解决方案打破了我的系统上的其他东西。