首页 > 解决方案 > IntelliJ IDEA micronaut-openapi javac 注释处理器在 IntelliJ 目录中搜索 openapi.properties

问题描述

我正在使用 Micronaut OpenAPI 模块并面临一个问题,即openapi.properties在 IntelliJ 中未正确处理默认值。在命令行上进行编译是可行的。在分析注解模块时,我发现它在 IntelliJ 相关目录C:\Users\<username>\AppData\Local\JetBrains\IntelliJIdea2020.1\compile-server中查找它,显然没有找到它。这可以防止使用openapi.properties. 似乎无法将 IntelliJ 配置为使用项目目录作为注释处理器的工作目录。

标签: micronaut-openapi

解决方案


Micronaut 提供系统属性配置选项micronaut.openapi.config.file。这可以使用pom.xml文件作为系统变量传递给注释处理器。IntelliJ 会接受这个。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <annotationProcessorPaths>
       ...
       <path>
         <groupId>io.micronaut.configuration</groupId>
          <artifactId>micronaut-openapi</artifactId>
          <version>use most recent version</version>
       </path>
  </annotationProcessorPaths>
  <compilerArgs>
    ...
    <arg>-Amicronaut.openapi.config.file=${project.basedir}/openapi.properties</arg>
    ...
  </compilerArgs>
  ...

对于基于 Gradle 的项目,应该可以使用类似的机制。


推荐阅读