【发布时间】:2020-10-05 08:30:42
【问题描述】:
我不知道如何在基于 maven 的 intellij 项目中设置 picocli 注释处理器。
考虑以下主要的 pom:
<?xml version="1.0" encoding="UTF-8"?>
<groupId>my.group.id</groupId>
<artifactId>example</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>core</module>
<module>util</module>
</modules>
<dependencies>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.5.1</version>
</dependency>
<!-- Other dependencies -->
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>info.picocli</groupId>
<artifactId>picocli-codegen</artifactId>
<version>4.5.1</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
</compilerArgs>
</configuration>
</plugin>
</build>
picocli 代码在核心模块中。但是,只要我在编译器插件中添加配置,我的所有 IntlliJ 配置都会变得无效。我将 pico 配置放在主模块或核心中都没关系,两者都不起作用。核心模块 pom 仅用于测试和打包。
代码仍可编译并可用作 jar(无编译时错误检查),但不能在 IntelliJ 中使用。 example 有效。但它不使用模块。
如何在 intelliJ 中修复它?
【问题讨论】:
-
我很乐意帮助解决这个问题。您的项目在公共回购中吗?或者更好的是,如果您可以提供重现问题的最小示例项目,我们可以在修复后将其添加到 picocli 示例中。请随时在picocli issue tracker 中提出票以进一步讨论。
-
@RemkoPopma 感谢您的帮助。我创建了一个最小的example project。如果我们能解决这个问题就太好了。问题是here
标签: java maven intellij-idea picocli