我是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。属性查看发生了什么
希望对您有所帮助