[英]Tomcat properties configuration file location
我是Java的新手(来自.Net背景的Java经验约为2个月)。 我被要求支持使用Spring,J2EE和Oracle数据库的Java应用程序。
我在努力理解部署过程中的问题。
有问题的Java应用程序在application.properties文件中具有数据库连接详细信息。 它的位置似乎是使用以下行从Spring配置文件中配置的:
<context:property-placeholder location="classpath:config/application.properties,classpath:config/bookings.properties" ignore-resource-not-found="true" />
在我们的Development Tomcat服务器上,该应用程序(称为Bookings)在以下位置查找application.properties文件:
的/ usr /共享/ Tomcat的/ web应用/预订/ WEB-INF /类/配置
看一下Spring配置,这就是我所期望的。
但是,在生产Tomcat上,该应用程序在其他位置查找:
在/ usr /共享/ tomcat的/ lib目录/配置
(在此目录中,该文件称为bookings.properties。
最初的开发人员已离开公司,我不知道为什么它将在文件的其他位置(和文件名)中查找。
有什么想法我可以看一下,或者可以在哪里配置? 应该注意的是,两个文件(application.properties和bookings.properties)都在两个Tomcat服务器上都存在,所以我不明白这个差异吗?
我们已经将相同的WAR文件重新部署到开发和生产中,并且差异仍然存在,即服务器仍位于不同的位置。
classpath是一个目录,您可以在其中放置一些资源(为简单起见,在链接上提供更多详细信息)。 那是一个变量,它被添加到启动命令中,有时它有点隐藏。 但这就是它的工作方式。
也许您可以在$ TOMCAT_DIR \\ bin \\ catalina.sh中观看以了解如何定义类路径。 就您而言,开发服务器和生产服务器之间的类路径中包含的文件夹是不同的。 那完全正常。
但是,您说的是在生产中该文件被命名为bookings.properties。 但是用这一行:
<context:property-placeholder location="classpath:config/application.properties,classpath:config/buyer-request.properties" ignore-resource-not-found="true" />
我们看到您从未尝试加载名为booking.properties的文件。 因此,问问自己为什么该文件称为booking.properties。 并将其重命名为application.properties以查看发生了什么。
希望这个帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.