gpt4 book ai didi

java - CATALINA_BASE/conf/Catalina/localhost/.xml 与应用程序的 context.xml 不同

转载 作者:行者123 更新时间:2023-11-28 22:03:27 25 4
gpt4 key购买 nike

我一直在 Tomcat 上运行 Web 应用程序,当我对应用程序(包括 context.xml)进行一些更改并重新部署它时,我开始收到异常:

javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
at javax.naming.InitialContext.lookup(InitialContext.java:392)

环顾四周后,我意识到 CATALINA_BASE/conf/Catalina/localhost 中的 appname.xml 与更新后的 context.xml 不同,因此当应用程序尝试查找 jndi 资源时,它找不到任何资源。根据this , 2个文件必须完全一样。对于这种情况,我提出了 2 个解释和问题:

  1. 有一个问题导致 appname.xml 在重新部署期间没有改变
  2. 虽然我更改了 context.xml,但 tomcat 仍然在某处存储旧版本并使用它而不是新版本

我想知道以前是否有人看到过这些问题,如果有,我真的很感谢任何解决方案。或者,如果您对我的案例有其他解释和/或问题,不客气!谢谢:)

大号

PS:tomcat在我公司的服务器上,所以我不能直接去改appname.xml :(

最佳答案

解释 1 是答案,重新部署中存在一个问题,导致 appname.xml 保持不变。该问题与我公司部署应用程序的方式有关:我们使用脚本删除应用程序并在 CATALINA_BASE/webapp 文件夹中添加更新版本,然后重新启动 tomcat,而不是使用 tomcat 的管理器页面。

大号

关于java - CATALINA_BASE/conf/Catalina/localhost/<APPNAME>.xml 与应用程序的 context.xml 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419621/

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