gpt4 book ai didi

java - JNDI 失败,出现 javax.naming.NameNotFoundException :Name [jdbc/Database] is not bound in this Context when deploying Spring Boot2 Tomcat 9 NO EMBEDDED

转载 作者:行者123 更新时间:2023-11-28 23:11:45 43 4
gpt4 key购买 nike

当我尝试使用 JNDI 将 spring boot 应用程序从 STS (eclipse) 部署到 tomcat 9 容器(嵌入式服务器已关闭,从 pom 中排除)时,它失败并显示以下消息:

“javax.naming.NameNotFoundException:名称 [jdbc/Database] 未绑定(bind)在此上下文中。无法找到 [jdbc]。”

我已经做了一些尝试来解决它,但问题仍然存在:

我的应用程序 spring 配置是:

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
application.profiles("production");
return application.sources(Application.class);
}

public static void main(String[] args) throws Exception {
SpringApplicationBuilder builder = new SpringApplicationBuilder(Application.class);
builder.headless(false);
builder.profiles("production");
builder.web(WebApplicationType.NONE);
builder.run(args); }

数据源配置为: JNDI Datasource creation source code Image

我已经尝试了其他可能的解决方案(比如在应用程序的 META-INF 目录中创建 context.xml)但直到现在都没有任何效果,出现了同样的错误: Error Image

最佳答案

问题是 Eclipse STS 中配置文件的第三个地方存在并且位于我的环境中: .metadata.plugins\org.eclipse.wst.server.core\tmp0\conf ,我复制 context.xml 和服务器。 xml配置如图像和问题已解决。

关于java - JNDI 失败,出现 javax.naming.NameNotFoundException :Name [jdbc/Database] is not bound in this Context when deploying Spring Boot2 Tomcat 9 NO EMBEDDED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56978115/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com