javax.naming.Exception:无法创建资源实例

问题描述 投票:0回答:1

我正在维护一个 Java Web 应用程序。在某个时候,它会运行以下代码:

Context ctx = (Context) new InitialContext.lookup("java:comp/env");
java.net.URL url;

try {
    url = (java.net.URL) ctx.lookup("url/example");
} catch (Exception ex) {
    logger.warn(ex)
    url = null
}

尝试解析第二个查找(“url/example”)时,它崩溃并出现以下错误:

javax.naming.Exception:无法创建资源实例

在我的 context.xml (位于 /WebContent/META-INF/ 中)我以这种方式定义了一个资源:

<Resource name="url/example"
    auth="Container"
    type="java.net.URL" />

也许这个资源定义有问题?

java tomcat jndi
1个回答
0
投票

我想我取得了一些进步。我替换了这个:

javax.naming.InitialContext ctx = new javax.naming.InitialContext();

有了这个:

Context ctx = (Context) new InitialContext().lookup("java:comp/env");

现在我收到此错误:

javax.naming.NamingException:无法创建资源实例

也许我的资源定义不正确? (我想我应该以某种方式为 URL 定义一个值......)

<Resource name="url/example"
    auth="Container"
    type="java.net.URL" />
© www.soinside.com 2019 - 2024. All rights reserved.