我能够将我的 Web 应用程序从 Eclipse Indigo 3.7.2 与 oepe 12.1.1.1.1 发布到 Oracle Weblogic 12c (12.1.1) AdminServer
然而,使用 oepe 12.1.2.2 导入 Eclipse Kepler 4.3.1 的完全相同的 Web 应用程序无法发布,并出现以下(相当常见的)异常,我正在尝试找出原因?...
NameNotFoundException:尝试查找“jdbc.oraclexe”时未找到子上下文“jdbc”。解决 '';剩余名称'jdbc/oraclexe'];链接剩余名称:'jdbc/oraclexe'
Weblogic 12c 数据源绝对可用,并且我必须假设其配置正确,因为应用程序从 Indigo 发布时部署和运行没有任何问题。
我还假设 applicationContext.xml、web.xml 和 weblogic.xml 中的映射是正确的,因为从 Indigo 发布时也没有问题。映射如下...
src\main\webapp\WEB-INF\spring\applicationContext.xml
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/oraclexe" />
</bean>
src\main\webapp\WEB-INF\web.xml
<resource-ref>
<description>Oracle Weblogic Connection Pool (oraclexe)</description>
<res-ref-name>jdbc/oraclexe</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<mapped-name>jdbc/oraclexe</mapped-name>
</resource-ref>
构建\weboutput\WEB-INF\weblogic.xml
<resource-description>
<res-ref-name>jdbc/oraclexe</res-ref-name>
<jndi-name>oraclexe</jndi-name>
</resource-description>
我想知道 weblogic.xml 在部署期间是否不可用(即它没有被复制到 src\main\webapp\WEB-INF 文件夹),而不是 jndiName/resource-ref/res 之间的映射存在问题-ref-name 自己?我尝试将 weblogic.xml 直接放入 src\main\webapp\WEB-INF 文件夹中,但出现相同的异常。
我唯一的另一个想法是,Indigo oepe 12.1.1.1.1 很乐意发布到 Weblogic 12.1.1,但 Kepler oepe 12.1.2 则不然,我应该发布到 Weblogic 12.1.2 服务器吗?