我在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。
答案 0 :(得分:1)
我找不到答案,并将必要的JAR文件放在服务器的lib目录中(user_projects / domains / {mydomain} / lib / * .jar)。它似乎工作,但它是修复的一个障碍。找不到更好的东西。
编辑: 在this question中,我发布了一个更好的kludge,涉及在服务器启动脚本中设置PRE_CLASSPATH
。仍然是一个kludge,但上面的解决方案打破了我的系统上的其他东西。