我正在维护一个 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" />
也许这个资源定义有问题?
我想我取得了一些进步。我替换了这个:
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" />