繁体   English   中英

Tomcat属性配置文件位置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM