无法在Liberty中实例化java:comp/env/HRONLINEFSDEV2 JNDI名称引用的对象

无法在Liberty中实例化java:comp/env/HRONLINEFSDEV2 JNDI名称引用的对象,java,websphere,jndi,websphere-liberty,Java,Websphere,Jndi,Websphere Liberty,我正在尝试将应用程序从WAS8迁移到Liberty。运行应用程序时,我发现JNDI查找错误 错误 CWNEN1001E:java:comp/env/HRONLINEFSDEV2引用的对象 无法实例化JNDI名称。如果引用名称映射到 应用程序的部署描述符绑定中的JNDI名称 在执行JNDI查找时,请确保 部署描述符绑定正确。如果JNDI名称映射 是正确的,请确保可以使用 相对于默认初始上下文指定的名称。[根 例外情况是com.ibm.wsspi.injectionengine.InjectionE

我正在尝试将应用程序从WAS8迁移到Liberty。运行应用程序时,我发现JNDI查找错误

错误

CWNEN1001E:java:comp/env/HRONLINEFSDEV2引用的对象 无法实例化JNDI名称。如果引用名称映射到 应用程序的部署描述符绑定中的JNDI名称 在执行JNDI查找时,请确保 部署描述符绑定正确。如果JNDI名称映射 是正确的,请确保可以使用 相对于默认初始上下文指定的名称。[根 例外情况是com.ibm.wsspi.injectionengine.InjectionException: CWNEN0030E:服务器无法获取的对象实例 java:comp/env/HRONLINEFSDEV2引用。异常消息为: CWNEN1004E:服务器找不到HRONLINEFSDEV2默认值 与的javax.sql.DataSource类型绑定 java:comp/env/HRONLINEFSDEV2参考文件。]

WEB.XML

<resource-ref>
    <description>
    </description>
    <res-ref-name>HRONLINEFSDEV2</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref name="HRONLINEFSDEV2" binding-name="jdbc/hronline/ds_FSDEV2"/>
<dataSource id="HRONLINEFSDEV2" jndiName="jdbc/hronline/ds_FSDEV2" type="javax.sql.DataSource" jdbcDriverRef="Oracle_12.1.0.2">
        <properties.oracle databaseName="SF304D03" serverName="ECCDB1382.ECC1Q.FORD.COM" portNumber="1521" URL="jdbc:oracle:thin:@ECCDB1382.ECC1Q.FORD.COM:1521:SF304D03" statementCacheSize="50" name="HRONLINEFSDEV2" description="Data source template"/>
        <connectionManager agedTimeout="1200" connectionTimeout="180" maxIdleTime="1800" maxPoolSize="100" minPoolSize="1" reapTime="300"/>
    </dataSource>

为了使绑定文件将web.xml中的资源引用与server.xml中的服务器资源相关联,web.xml中的
res ref name
需要与IBM-web-BND.xml中的
name
匹配,即change
I在web.xml中更改为HRONLINEFSDEV2,但在给定的“ds=(DataSource)initContext.lookup(”java:comp/env/HRONLINEFSDEV2”);“但它会引发相同的错误。如果您使用不正确的JNDI名称查找资源,请阅读上面我的答案的最后一句话和查找代码。请编辑上面的问题以指示您的更改。
initContext = new InitialContext();
ds = (DataSource) initContext.lookup("java:comp/env/jdbc/hronline/ds_FSDEV2");