You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maven中为kapt及kotlin-maven-plugin配置参数?

在Maven中配置kapt与kotlin-maven-plugin的参数

没问题,我帮你把Gradle里的kapt参数配置转换成Maven版本的,直接看下面的具体配置和说明就好:

在Maven里,kapt的参数是通过kotlin-maven-plugin的配置来传递的,你需要在pom.xml的<build> -> <plugins>节点下添加或修改kotlin-maven-plugin的配置,把你需要的参数以-A参数名=值的形式放到<args>里,对应Gradle中kapt.arguments里的配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>${kotlin.version}</version> <!-- 替换成你的Kotlin版本,比如1.9.20 -->
            <executions>
                <execution>
                    <id>compile</id>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                            <sourceDir>${project.basedir}/src/main/java</sourceDir>
                        </sourceDirs>
                        <!-- 对应Gradle里的kapt.arguments配置 -->
                        <args>
                            <arg>-Acodegen.output=${project.basedir}/src/main/generated</arg>
                            <arg>-Akapt.kotlin.generated=${project.basedir}/src/main/generated</arg>
                        </args>
                        <!-- 如果需要指定注解处理器依赖,可添加以下配置 -->
                        <annotationProcessorPaths>
                            <!-- 示例:添加自定义注解处理器依赖 -->
                            <!-- <path>
                                <groupId>com.example</groupId>
                                <artifactId>your-annotation-processor</artifactId>
                                <version>1.0.0</version>
                            </path> -->
                        </annotationProcessorPaths>
                    </configuration>
                </execution>
                <!-- 可选:测试代码编译的配置 -->
                <execution>
                    <id>test-compile</id>
                    <goals>
                        <goal>test-compile</goal>
                    </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                            <sourceDir>${project.basedir}/src/test/java</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

关键对应说明:

  • Gradle中的arg("codegen.output", project.file('src/main/generated').path) → Maven里的<arg>-Acodegen.output=${project.basedir}/src/main/generated</arg>
  • Gradle中的arg("kapt.kotlin.generated", project.file('src/main/generated').path) → Maven里的<arg>-Akapt.kotlin.generated=${project.basedir}/src/main/generated</arg>

这里的-A前缀是Maven传递注解处理器参数的标准方式,和Gradle的参数传递逻辑完全对应。另外记得替换${kotlin.version}为你项目实际使用的Kotlin版本,确保插件版本与项目中Kotlin依赖版本保持一致。

内容的提问来源于stack exchange,提问作者严尚君

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:47:09