IntelliJ Ultimate 忽略 spring boot application.properties

Posted

技术标签:

【中文标题】IntelliJ Ultimate 忽略 spring boot application.properties【英文标题】:IntelliJ Ultimate ignores spring boot application.properties 【发布时间】:2016-08-19 06:00:13 【问题描述】:

今天我安装了 IntelliJ Ultimate 版本 2016.1.1 build 145.597。我后来做的是从 IntelliJ 社区版导入 may 项目。本项目基于 spring-boot 1.3.3。问题是,当我想在 IntelliJ Ultimate 中运行我的应用程序时,application.properties 文件被忽略了,它以默认的 spring 设置开始。当我在 IntelliJ 社区版或命令行中运行相同的项目时,一切正常。当我添加和运行 spring boot 运行配置时,问题仅存在于 Ultimate 版本中,如果我使用 gradle 配置和 bootRun 任务它可以工作。

在 IntelliJ Ultimate 之前我没有使用过。 有谁知道可能出了什么问题?我浪费了 2 个小时的谷歌搜索来解决我的问题,但我什么也没找到。

src/main/resources/application.properties的内容:

server.port=2081
server.ssl.key-store=cfg/certs/keystore.p12
server.ssl.key-store-password=dev
server.ssl.key-alias=alias
server.ssl.key-store-type=PKCS12

spring.datasource.url=jdbc:h2:file:./cfg/db/app;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=none

项目结构

【问题讨论】:

此时application.yml的内容已经无关紧要了。更有趣的是您的项目的文件夹结构。 IE。如果路径真的是 src/resources/application.properties,那么它不是默认的 Maven 结构,你必须确保你在 pom.xml 中正确配置了它。 “src/resources”是您的资源目录还是“src/main/resources”(默认标准)?另外,IntelliJ 是否将该目录识别为资源目录? 我已经包含了项目结构图像。 @cjstehno 这是默认的(src/main/resources/application.properties) 您在导入前是否删除了 .idea 和 .iml 文件夹/文件?另外,你的包不应该在 src/main/java 下吗?目前在src/main下可以看到包kotlin? @MarcoTedone 我在我的项目中使用 Kotlin,所以 src/main/kotlin 很好。我没有删除 .iml 文件夹。我在 IntelliJ Ultimate 中创建了新项目,并从不起作用的项目中简单地复制粘贴了必要的文件。现在它似乎工作正常。谢谢大家的帮助。 【参考方案1】:

IntelliJ Ultimate 2016.1.1 遇到了同样的问题

重新导入项目并删除现有项目对我有用。

我相信这个问题与 1.1 版本有关。 IntelliJ IDEA 2016.1.4 没有问题

【讨论】:

这在 2018.3.5 也为我修复了它。我认为这是由于启动不干净(停电)造成的。对 Intellij 很厌倦...【参考方案2】:

解决问题的简单方法。

    如果您已经打开 IntelliJ idea,请关闭项目并将其从 IntelliJ 中删除 想法。 导航到您的项目目录(例如:F:\dev\my-project)并删除.idea 文件夹。 然后再次打开 IntelliJ idea。从File -> Open 打开您的项目。 然后运行项目。

这是最简单的解决方案。 谢谢!

【讨论】:

【参考方案3】:

我的 Spring Boot 应用程序从 IntelliJ Ultimate Version 2020.3 运行时遇到了类似的问题。我在 spring-config.xml 文件中配置了一个 Connection.properties,如下所示,即使将文件放在我的 gradle 项目中的 src/main/resources 文件夹下,我的 Connection.properties 文件也出现 FileNotFoundException

<context:property-placeholder location="file:Connection.properties" />

改成之后就可以了

<context:property-placeholder location="classpath:Connection.properties" />

注意“位置”属性中的“文件:”到“类路径:”

【讨论】:

【参考方案4】:

编译后检查文件application.properties是否直接在target/classess下,可能是设置错误将其复制到其他spring boot不知道的目录

【讨论】:

以上是关于IntelliJ Ultimate 忽略 spring boot application.properties的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA(Ultimate版本)的下载安装和WordCount的初步使用(本地模式和集群模式)Ultimate

Spark编程环境搭建(基于Intellij IDEA的Ultimate版本)

IntelliJ IDEA Ultimate项目加载问题

IntelliJ IDEA Ultimate 安装&激活

IntelliJ IDEA Ultimate 安装&激活

在 Intellij Ultimate 中保存数据库中的数据