You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebLogic 12.2.1.4查找JNDI DataSource失败报错如何解决?

WebLogic 12.2.1.4 数据源JNDI查找失败排查步骤

报错详情:
Caused by: org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:comp/env/jdbc/TESTDataSource'; nested exception is javax.naming.NameNotFoundException: While trying to look up comp/env/jdbc/TESTDataSource in /app/webapp/TEST.war/1431676420.; remaining name 'comp/env/jdbc/TESTDataSource'

你可以按以下顺序逐一排查遗漏的配置:

  • 检查WebLogic全局数据源的JNDI名称配置
    登录WebLogic控制台进入「服务-数据源」页面,找到已创建的jdbc/TESTDataSource数据源,在「常规」选项卡确认JNDI名称字段值完全匹配jdbc/TESTDataSource,注意大小写、前后空格,WebLogic的JNDI名称大小写敏感。如果配置了多个JNDI名称,确保jdbc/TESTDataSource在列表范围内。
  • 检查数据源的目标部署范围
    在数据源配置页面切换到「目标」选项卡,确认你部署应用的WebLogic服务器/集群已经被勾选,数据源未部署到应用所在的服务实例是此类报错的最常见原因。
  • 检查应用的资源引用配置
    你当前查找的java:comp/env/jdbc/TESTDataSource是应用级的JNDI别名,需要在应用部署描述符中配置映射:
    • 普通web应用需要在web.xml中添加如下配置:
      <resource-ref>
        <description>TEST业务数据源</description>
        <res-ref-name>jdbc/TESTDataSource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
      
    • 若不想配置别名映射,可直接修改Spring配置中的JNDI查找地址为WebLogic全局路径:jdbc/TESTDataSource或者java:jdbc/TESTDataSource,跳过java:comp/env前缀的别名查找逻辑。
  • 检查WebLogic专属部署描述符配置
    如果你使用了java:comp/env别名规则,还需要在应用的weblogic.xml中添加全局JNDI和应用别名的映射:
    <resource-description>
      <res-ref-name>jdbc/TESTDataSource</res-ref-name>
      <jndi-name>jdbc/TESTDataSource</jndi-name>
    </resource-description>
    
  • 检查JNDI绑定状态
    应用部署完成后,登录WebLogic控制台进入「部署-你的TEST应用-JNDI树」页面,查看comp/env/jdbc路径下是否存在TESTDataSource节点,确认绑定是否生效。

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:03