Spring-boot-configuration-процессор не работает над проектом подмодуля maven - PullRequest
1 голос
/ 21 мая 2019

У меня есть многомодульный проект maven с одним родительским и тремя дочерними модулями.Приложение использует весеннюю загрузку.В одном из дочерних модулей у меня есть 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 этого модуля естьзависимость для процессора весенней загрузки:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <optional>true</optional>
</dependency>

Теперь проблема заключается в том, что при запуске mvn install для родительского проекта цель / 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-установку непосредственно на дочерний модуль, файл target / classes / META-INF / spring-configuration-metadata.json

У вас есть какие-нибудь подсказки?

1 Ответ

1 голос
/ 27 июня 2019

Я явно добавил:

  <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 раздела pom дочернего модуля, содержащего аннотированный класс @ConfigurationProperties. Теперь target/classes/META-INF/spring-configuration-metadata.json генерируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...