【问题标题】:Where is the application.properties file in a Spring Boot project?Spring Boot 项目中的 application.properties 文件在哪里?
【发布时间】:2023-04-10 22:45:01
【问题描述】:

我开始了一个新的 Spring Boot 项目,我想更改端口号,我读到我必须修改 /resource/application.properties 才能这样做。

但是我找不到这个文件,我错过了什么吗?我需要安装引导启动器吗?我不想使用 spring CLI 设置它。

我应该手动创建这个文件吗?如果是这样,我想我必须在代码中的某处将此文件标记为属性文件。那会在哪里?

非常感谢!

【问题讨论】:

  • 如果不存在手动创建文件

标签: java spring spring-boot


【解决方案1】:

Spring Boot 会在您的应用启动时自动从以下位置查找并加载 application.properties 和 application.yaml 文件:

  1. 类路径根
  2. 类路径 /config 包
  3. 当前目录
  4. 当前目录下的 /config 子目录
  5. /config 子目录的直接子目录

列表按优先级排序(较低项目的值覆盖较早的项目)。

您可以在这里找到更多信息https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-files

【讨论】:

    【解决方案2】:

    您可以手动创建它,但 application.properties 的默认位置在这里

    【讨论】:

      【解决方案3】:

      在您的第一次 Spring Boot 项目之旅中,我建议您从 Spring Starter Try this link here 开始。

      它会自动为您生成项目结构,例如 this.application.perperties,它将位于 /resources 下。

      application.properties 重要变化

      server.port = 你的 PORT(XXXX) 默认=8080
      server.servlet.context-path=/api (SpringBoot 2.x.)
      server.contextPath-path=/api(SpringBoot版本

      如果您不想进行冗余属性设置,您可以使用任何方式 application.yml

      示例
      application.yml

      server:
         port: 8080 
         contextPath: /api
      

      application.properties

      server.port = 8080
      server.contextPath = /api
      

      【讨论】:

      • 如何从任何类访问端口变量?
      【解决方案4】:

      您也可以手动创建 application.properties 文件。

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

      • 当前目录的 /config 子目录。
      • 当前目录
      • 类路径 /config 包
      • 类路径根

      列表按优先级排序(在列表中较高位置定义的属性会覆盖在较低位置定义的属性)。 (来自the Spring boot features external configuration doc page

      所以继续创建它

      【讨论】:

        【解决方案5】:

        您需要在类路径中添加application.properties 文件。

        如果您使用的是 Maven 或 Gradle,您只需将文件放在 src/main/resources 下即可。
        如果您没有使用 Maven 或任何其他构建工具,请将其放在您的 src 文件夹下,应该没问题。

        然后你可以在属性文件中添加一个条目server.port = xxxx

        【讨论】:

        • 首先我要感谢您的回答。我试过这个,但它对我不起作用。 Tomcat 甚至从一个随机端口开始。
        • 我用java spring boot开始了一个新项目。在这里它起作用了。
        • 如果你想直接添加到一个WAR中,只需将它放在/WEB-INF/classes/下即可
        猜你喜欢
        • 1970-01-01
        • 2017-01-29
        • 2015-01-26
        • 2014-06-02
        • 2019-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多