在新的 WebLogic 服务器上部署 war 时出现意外错误情况

unexpected error condition deploying war on new WebLogic server

我正在尝试将一个简单的 war 文件部署到 OSX 10.9.4

上的新 WebLogic 12c 服务器上

我通过 wls1213_devzip_update1.zip 安装并按照自述文件中的说明配置新安装。

WebLogic 通过 ./startWebLogic.sh 正常启动,我能够登录管理控制台。

在管理控制台中执行以下步骤后: 部署 > 安装 > 上传文件 > 选择文件 > select 文件系统上的 war > 下一步

点击下一步后,我在浏览器中收到以下错误:

An unexpected error condition has been detected. Details have been recorded in the admin server log

并且日志中出现以下错误:

<Feb 1, 2015 6:50:49 AM MST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423147> <Exception [com.bea.portlet.adapter.scopedcontent.ActionLookupFailedException: java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils] thrown while trying to do task [handlePostbackData] in class [com.bea.netuix.servlets.controls.content.PageFlowContent].> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423405> <An exception [java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils] was thrown while rendering the content at [null].> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423137> <There was an error loading the requested URI null.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423405> <An exception [java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils] was thrown while rendering the content at [/com/bea/console/actions/app/install/Flow.jpf].> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423137> <There was an error loading the requested URI /com/bea/console/actions/app/install/Flow.jpf.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423405> <An exception [java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils] was thrown while rendering the content at [null].> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423137> <There was an error loading the requested URI null.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423405> <An exception [java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils] was thrown while rendering the content at [null].> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423137> <There was an error loading the requested URI null.> 
<Feb 1, 2015 6:51:43 AM MST> <Error> <netuix> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.> 

如果我可以提供更多信息来帮助解决问题,请告诉我。谢谢!

日志实际上告诉您出了什么问题 - org/apache/commons/io/IOUtils class 丢失了。我不确定为什么它不包含在 WebLogic 中,但您可以从 Apache Commons 项目 (http://commons.apache.org/proper/commons-io/download_io.cgi).

中获取包含此 class 的包

我遇到了同样的问题,但通过将包中的 commons-io-2.4.jar 复制到 $MW_HOME/wlserver/server/lib/consoleapp/APP-INF/lib(似乎包含所有其他 commons jar)来修复它。

感谢您找到这个。我们最近更新了 WLS 管理控制台使用的 apache fileupload 版本作为安全补丁的一部分,并引入了对 commons-io 的新依赖性,该依赖性在此过程中丢失了。我们会追踪到的。在此期间,将 jar 复制到 consoleapp/APP-INF/lib 是一个合适的解决方法(这就是我们的修复程序所做的。)

我认为这个问题只会影响部署期间控制台的上传功能。所有其他功能都应按预期工作。