WebLogic Server部署ADF应用提示未解析Webapp库引用如何解决
weblogic.application.ModuleException: Error: Unresolved Webapp Library references for "WebAppModule(MyApp_ViewController_webapp:MyApp_ViewController_webapp.war)", defined in weblogic.xml [Extension-Name: adf.oracle.domain.webapp, exact-match: false]
报错原因
该错误为ADF应用依赖的WebLogic共享库缺失/不匹配触发,核心触发场景如下:
- 目标WebLogic 12c域创建时未勾选ADF扩展模板,没有预部署
adf.oracle.domain.webapp共享库 - WebLogic服务器上安装的ADF运行时版本,与JDeveloper开发环境使用的ADF版本不一致
- 应用
weblogic.xml文件中配置的共享库引用名称拼写错误,或指定了不匹配的版本规则
排查解决步骤
1. 检查WebLogic域的ADF共享库部署状态
- 登录WebLogic管理控制台,进入左侧导航栏的部署页面,在共享库分类下确认是否存在
adf.oracle.domain.webapp条目,且状态为「活动」 - 若该库不存在,需要扩展当前域:
- 运行
$DOMAIN_HOME/bin/config.sh(Linux)或config.cmd(Windows)启动域配置向导 - 选择「扩展现有域」,在模板选择页勾选所有Oracle Application Development Framework相关模板,按向导完成域扩展后重启域
- 运行
- 若该库存在但状态异常,可手动重新部署,部署包路径为
$ORACLE_HOME/oracle_common/modules/oracle.adf.view/adf.oracle.domain.webapp.war
2. 校验ADF版本一致性
- 打开JDeveloper,点击「帮助 > 关于 > 版本」,查看当前使用的ADF组件完整版本号
- 回到WebLogic控制台,打开
adf.oracle.domain.webapp共享库的详情页,对比两者的版本号,必须完全一致才可正常引用,小版本号不匹配也会触发该错误 - 版本不一致时,可选择升级WebLogic的ADF运行时,或使用对应版本的JDeveloper重新打包应用
3. 校验应用打包配置
- 打开ViewController项目下
WEB-INF/weblogic.xml,检查共享库引用配置是否正确,参考配置如下:
确认<library-ref> <library-name>adf.oracle.domain.webapp</library-name> <exact-match>false</exact-match> </library-ref>library-name没有拼写错误,未额外配置不匹配的版本约束 - 测试场景下也可选择将ADF运行时随应用一起打包:在JDeveloper的部署配置页勾选「包含ADF运行时库」,该方式无需依赖服务端共享库,但会大幅增加ear包体积,不建议生产环境使用
内容的提问来源于stack exchange,提问作者Mohamed
相关产品推荐
相关产品推荐

