在weblogic中部署EAR的问题

时间:2015-03-31 01:03:51

标签: java-ee weblogic12c

我在尝试在Weblogic上的企业应用程序中部署WAR文件时遇到问题。

Web应用程序在部署时可以作为单独的.war文件正常工作,但是当在.ear文件中捆绑在一起时,在每个Web应用程序的WEB-INF / classes目录中访问资源时似乎存在问题。

我有一些资源需要从这个目录访问(例如log4j.xml文件)。部署.ear文件时,Weblogic将其解压缩到服务器上的tmp位置。一切似乎都是正确的,除了WEB-INF / classes目录中没有预期的文件。它们存在于.ear文件中的.war文件中。

WEB-INF和WEB-INF / lib目录下的文件以及.war文件的WEB-INF和基目录都存在,但是WEB-INF / classes目录是神秘的空白。

用于Weblogic的ClassLoader表示此目录的路径位于类路径上,但没有文件,显然无法找到它们。

是否有人知道可能导致此行为的原因以及如何解决此问题?

2 个答案:

答案 0 :(得分:0)

我经过多次讨论后想到这一点,似乎是application.xml中的版本存在问题,出于某种原因设置为“jee5”时,Weblogic(10.3.6)没有在WEB中扩展任何内容INF / classes目录。

文件肯定存在,但未从ear文件中的.war文件中提取。

切换到版本“1.4”解决了问题。

答案 1 :(得分:0)

为什么,因为weblogic将所有类都捆绑到_wl_cls_gen.jar中。因此在类路径中必须从我们的应用程序中提及此路径目录。

例如:

    classpath.append("." + pathSeperator + path + File.separator +"lib"+ 
    File.separator+"_wl_cls_gen.jar" + pathSeperator);

希望这会有所帮助。