WebLogic 10.3.7 文件上传返回“创建名称为 'portletMultipartResolver' 的 bean 时出错”

Posted

技术标签:

【中文标题】WebLogic 10.3.7 文件上传返回“创建名称为 \'portletMultipartResolver\' 的 bean 时出错”【英文标题】:WebLogic 10.3.7 File Upload returns "Error creating bean with name 'portletMultipartResolver'"WebLogic 10.3.7 文件上传返回“创建名称为 'portletMultipartResolver' 的 bean 时出错” 【发布时间】:2017-12-30 20:38:52 【问题描述】:

我正在使用带有文件上传的 Spring Portlet mvc。当我使用 WebLogic 10.3.0 时,它运行良好。我正在迁移到 WebLogic 10.3.7。在这里使用相同的代码,我得到以下错误:

javax.portlet.PortletException: org.springframework.beans.factory.BeanCreationException:错误 创建名称为“portletMultipartResolver”的bean PortletContext 资源 bean 实例化失败;嵌套异常 是 org.springframework.beans.BeanInstantiationException: 不能 实例化 bean 类 [org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver]: 构造函数抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: javax/portlet/ActionRequest

WebLogic 服务器找不到 ActionRequest.class。我尝试了几个选项,例如将包含 ActionRequest.class 的 jar 文件 (netuix_common.jar) 放在应用程序 war 文件中,但它仍然不起作用。

我可以尝试什么来解决这个问题?

【问题讨论】:

您不需要 WebLogic Portal 而不是 WebLogic Server 来部署您的 portlet 吗? 【参考方案1】:

java.lang.NoClassDefFoundError - 当 weblogic 服务器在其类加载器中找到此类但不是具有正确版本的类时,您会收到此错误。

你把它添加到应用程序war文件中是正确的,你可能想要添加“prefer-web-inf-classes”的标志

https://docs.oracle.com/cd/E23943_01/web.1111/e13712/weblogic_xml.htm#WBAPP601

【讨论】:

以上是关于WebLogic 10.3.7 文件上传返回“创建名称为 'portletMultipartResolver' 的 bean 时出错”的主要内容,如果未能解决你的问题,请参考以下文章

WebLogic任意文件上传漏洞(CVE-2019-2618)

漏洞复现Weblogic 任意文件上传漏洞

漏洞复现Weblogic 任意文件上传漏洞

漏洞复现Weblogic 任意文件上传漏洞

weblogic漏洞系列-后台上传文件getshell

WebLogic 12c控制台上传获取webshell