【问题标题】:CATALINA_BASE/conf/Catalina/localhost/<APPNAME>.xml is different from application's context.xmlCATALINA_BASE/conf/Catalina/localhost/<APPNAME>.xml 与应用程序的 context.xml 不同
【发布时间】:2012-11-16 15:31:36
【问题描述】:

我一直在 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 仍然在某处存储旧版本并使用它而不是新版本

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

L

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

【问题讨论】:

    标签: java tomcat web-applications jndi context.xml


    【解决方案1】:

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

    L

    【讨论】:

    • 很好的答案,非常适用于在 Tomcat 容器中部署 WAR 文件... +1
    • 这个答案不能解决问题。你是如何克服这个问题的?
    • @Neil 这就是我所做的,它解决了我的问题。你能更清楚地了解你的吗?
    • @LongThai 脚本的作用是什么?剧本是用什么语言写的?答案很简单,“问题是#1。我们设法以某种方式解决了它。”这对任何人都没有帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-10-15
    • 2013-06-15
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2018-11-10
    相关资源
    最近更新 更多