【发布时间】:2021-01-17 23:04:10
【问题描述】:
我正在将我的项目从 Maven 迁移到 Gradle,并且我有一个 Java 类,我需要在项目的其余部分之前编译它。此类创建一个将由项目使用的文件。 有谁知道如何完成这项任务?谢谢
编辑:
以下是Maven解决方案:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<compilerArgument>-proc:none</compilerArgument>
<includes>
<include>PATH/TO/CLASS/AnnotationProcessor.java</include>
</includes>
</configuration>
</execution>
<execution>
<id>compile-project</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
AnnotationProcessor 抓取并存储项目声明的所有注释数据。这个类应该在项目的其余部分之前编译。至少评论区是这么说的。
【问题讨论】:
-
我不明白你想要达到什么目的。如果您正在从 Maven 迁移到 Gradle,那么您已经在 Maven 中解决了这个问题。你能展示一下你是如何在 Maven 中解决它的吗?
-
我编辑了我的帖子并添加了 Maven 解决方案
-
我想也许你希望注释处理器在它自己的项目中?
-
这可能是我读到的一个选项。还有其他方法吗,也许是基于任务的解决方案?我知道 Gradle 创建了一个 DAG,其中包含按什么顺序执行的操作。此 DAG 是否接受类似“dependsOn”的内容?甚至可以“拆分编译”一个项目吗?就像,先编译这部分,完成后构建其余部分
标签: java gradle build.gradle gradle-plugin annotation-processing