gpt4 book ai didi

maven - spring-boot-configuration-processor 不适用于 maven 子模块项目

转载 作者:行者123 更新时间:2023-12-03 23:12:09 26 4
gpt4 key购买 nike

我有一个带有一个父模块和三个子模块的 Maven 多模块项目。
该应用程序使用 Spring 启动。在其中一个子模块中,我有 SpringBootApplication:

@SpringBootApplication
@EnableConfigurationProperties({AppProperties.class})
public class MainSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MainSpringBootApplication.class, args);
}
}

应用程序属性位于同一模块中:
@Data
@ConfigurationProperties(prefix = "asdf")
public class AppProperties {
...
}

在该模块的 pom.xml 中有一个 spring-boot-configuration-processor 的依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

现在的问题是,当我在父项目上运行 mvn install 时,target/classes/META-INF/spring-configuration-metadata.json
未创建此子模块中的文件。当我修改该子模块的 pom 以直接继承自:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

并直接在子模块上执行 mvn install ,生成 target/classes/META-INF/spring-configuration-metadata.json 文件。

你有什么提示吗?

最佳答案

我明确添加:

  <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.1.5.RELEASE</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</plugin>

plugins包含 @ConfigurationProperties 的子模块的 pom 部分注释类。现在 target/classes/META-INF/spring-configuration-metadata.json生成。

关于maven - spring-boot-configuration-processor 不适用于 maven 子模块项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56234234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com