Tomcat属性配置文件的位置



我是Java新手(从。net背景过来后大约有2个月的Java经验)。我被要求支持一个使用Spring、J2EE和Oracle数据库的Java应用程序。

我们的部署过程中有一个问题,我很难理解。

所讨论的Java应用程序在应用程序中具有数据库连接详细信息。属性文件。它的位置似乎是从Spring配置文件中配置的,使用以下行:

<context:property-placeholder       location="classpath:config/application.properties,classpath:config/bookings.properties" ignore-resource-not-found="true" />

在我们的Development Tomcat服务器上,应用程序(称为订票)在这个位置查找应用程序。属性文件:

/usr/share/tomcat webapps/预订/web - inf/classes/配置

这是我所期望的,看看Spring配置。

但是,在生产版Tomcat上,应用程序在一个不同的位置:

/usr/share/tomcat/lib/config

(在此目录中,文件名为订票。properties.

)

原来的开发人员已经离开了公司,我不知道为什么它会在不同的位置寻找文件(和不同的文件名)。

有什么想法我可以看,或者在哪里可以配置?应该注意的是,这两个文件(应用程序)。properties和booking .properties)在两个Tomcat服务器上都存在,所以我不理解这种差异。

我们已经将相同的WAR文件重新部署到开发和生产中,但是差异仍然存在,即服务器仍然在不同的地方。

classpath是一个目录,您可以在其中放置一些资源(为了简单起见,更多细节请参见链接)。这是一个变量,它被添加到启动命令中,有时它有点隐藏。但这就是它的工作方式。

也许你可以在$TOMCAT_DIRbincatalina.sh中查看如何定义类路径。在您的情况下,类路径中包含的文件夹在开发服务器和生产服务器之间是不同的。这很正常。

但是,您说在生产环境中该文件名为books .properties。但是用这一行:

<context:property-placeholder       location="classpath:config/application.properties,classpath:config/buyer-request.properties" ignore-resource-not-found="true" />

我们看到您从未尝试加载一个名为booking.properties的文件。所以问问你自己为什么这个文件叫booking.properties。并将其重命名为application。属性查看发生了什么

希望对您有所帮助

最新更新