gpt4 book ai didi

java - 在 tomcat 8 的共享文件夹中添加属性文件并在 Spring MVC Web 应用程序中使用它

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:16 25 4
gpt4 key购买 nike

我有一个 Java Spring MVC 网络应用程序。我正在使用 application.properties 文件来设置一些属性值。现在我试图获得独立于 war 文件的属性。我在 tomcat 下创建了一个新文件夹 shared/classes,如下所示。

folder

catalina.properties 文件中,我添加了 shared.loader=${catalina.base}/shared/classes

在我的 root-context.xml 文件中,我添加了

<context:property-placeholder location="file:${catalina.base}/shared/classes/application.properties"/>

但是我收到以下错误:

ERROR o.s.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: E:\projects\smartwcm\workspace-20163101-eclipse-wp\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\shared\classes\application.properties (The system cannot find the path specified)

我该如何解决这个问题?

最佳答案

这可能是eclipe创建的Servers文件夹的局限之一。它实际放置此文件夹内容的位置是

.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf

我已经在本地试过了,eclipse 似乎没有发布我创建的任何文件夹。并且 eclipse 非常具体地命名文件夹 Tomcat v8.0 Server at localhost-config。这也可能意味着 propertyconfiguration 文件是唯一被接受的系统文件。只需将 application.properties 文件放在与例如 catalina.properties 相同的级别,我就可以使一切正常运行。然后我用 eclipse 发布,然后当我查看临时文件夹时,应用程序文件就在那里。无论如何,似乎没有特定理由将您的文件放在 shared/classes 中。毕竟,据我所知,它们是要在服务器中共享的属性,所以我会说它们的正确位置是在配置文件夹中。

关于java - 在 tomcat 8 的共享文件夹中添加属性文件并在 Spring MVC Web 应用程序中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37222164/

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