首页 > 解决方案 > 在 Apache Tomcat 上部署 .war 时如何使用给定的 application.properties 文件?

问题描述

我的任务是在 Apache Tomcat 上部署 ROOT.war 应用程序。下面是 ROOT.war 文件内部的样子:

ROOT.war 文件结构

我被告知的应用程序使用 Postgresql 作为其数据库。我已经把那个整理好了。

我只想知道如何使用他们提供的这个 application.properties 配置文件在 Apache Tomcat 上运行这个应用程序。这是它的样子:

application.properties 配置

非常感谢和问候,杰里米

标签: javaspringtomcat

解决方案


有多种方法可以指定application.properties文件的位置。有关如何加载属性的完整列表,请参阅Spring Boot 文档。

如第2.3 节所述。应用程序属性文件

SpringApplication 从以下位置的 application.properties 文件中加载属性并将它们添加到 Spring 环境中:

  • 当前目录的/config子目录

  • 当前目录

  • 一个类路径/config

  • 类路径根

它接着说:

如果您不喜欢application.properties作为配置文件名,您可以通过指定spring.config.name环境属性来切换到另一个文件名。您还可以使用spring.config.locationenvironment 属性(以逗号分隔的目录位置或文件路径列表)来引用显式位置。

在众多选项中,我要强调:

  • 推荐:根据这个答案,您可以在 Tomcat 上下文 XML 文件中指定位置,尽管 Spring 文档中没有明确指定:

    <Context>
        <Parameter name="spring.config.location" value="file:/path/to/config/folder" />
    </Context>
    
  • 修改.war文件并将文件放在WEB-INF/classes/configorWEB-INF/classes文件夹中。

  • 如果您可以指定正在运行的 Tomcat 的工作目录,请将文件放在该目录或config子文件夹中。

  • 如果您可以为正在运行的 Tomcat 指定 JVM 选项,请添加-Dspring.config.location=file:/path/to/config/folder并将文件放置在那里。


推荐阅读