META-INF 文件夹中的 Spring.factories 在打包 jar 后未添加到 "target" 文件夹(springboot 应用程序)

Spring.factories in META-INF folder not added to "target" folder after packaging jar (springboot app)

我正在尝试使用 EnvironmentPostProcessor 以便将一些 docker 秘密加载到应用程序属性中。

我有一个 META-INF 文件夹,其中有一个 spring.factories 文件来绑定 EnvironmentPostProcessor 实现,META-INF 文件夹位于 main/java/META-INF.

我 运行 遇到的问题是,当我使用 maven install / maven package 时,META-INF 文件夹被添加到 target/classes 文件夹,但 spring.factories 文件没有那里。

我想将它添加为要生成的资源,但我不能在资源文件夹中包含 META-INF,因为我也在使用需要在包中生成 类 的 JAX2B可用于其他模块(不是资源文件夹)

非常感谢您的帮助..

根据 Maven 惯例,它应该是 main/java/resources/META-INF/spring.factories

如果你不把它放在 main/java/resources 下,maven 将无法识别该文件夹并且不会将任何内容移动到目标目录....

至于 JAX2B - 您应该在 target/generates-sources 文件夹中生成源文件(或者如果它类似于 XML,target/generated-resources)这些文件夹也可以被 IntelliJ 识别。在任何情况下,你都不应该在 src/main 下生成任何东西,它是你的源文件而不是生成的文件的地方。