Weblogic Server 12c部署EAR时被识别为库的原因排查
Weblogic 12c将EAR识别为库的原因排查
嘿,我之前也碰到过一模一样的问题,每次部署都要手动切换选项,确实容易手滑出错。咱们来捋一捋Weblogic是根据EAR里的哪些内容来判断部署类型的:
- MANIFEST.MF中的
Extension-Name属性:这是最常见的触发点。Weblogic的规则是,如果EAR的META-INF/MANIFEST.MF里存在Extension-Name这个属性,就会自动把它识别为共享库。很多时候用Maven打包时,如果不小心配置了共享库相关的插件(比如weblogic-maven-plugin的库打包配置),就会自动在MANIFEST里加上这个属性。你可以打开你的META-INF/MANIFEST.MF检查一下,要是有类似下面的行:
Extension-Name: some-library-name
删掉它再重新打包就好。
Weblogic专属配置文件:如果你EAR里有
META-INF/weblogic-application.xml(你的目录结构里没显示,不过实际项目里可能存在),里面如果配置了<library>标签或者其他共享库相关的参数,也会导致Weblogic把它当成库。要是有这个文件,检查一下有没有这类配置。文件名的误导:这个情况比较少见,但如果你的EAR文件名里包含
library或者类似的关键词,Weblogic偶尔也会误识别,不过概率很低,可以作为最后排查的点。
从你给出的目录结构来看,优先检查META-INF/MANIFEST.MF里的Extension-Name属性,应该就能解决问题啦。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

