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

如何配置Dagger 2.52生成依赖Jakarta而非Javax的代码?

问题原因

Dagger 2.48及以上版本虽已支持Jakarta API,但默认仍保持javax兼容模式运行,不会自动切换到Jakarta。除此之外,还可能存在以下诱因:

  • 项目中仍残留javax.inject相关依赖,导致注解处理器优先绑定javax类
  • Maven注解处理器配置未添加显式开启Jakarta模式的参数
解决配置步骤

1. 调整Maven依赖与注解处理器参数

首先确保项目依赖的是Jakarta版本的注入API,而非javax:

<dependencies>
    <dependency>
        <groupId>jakarta.inject</groupId>
        <artifactId>jakarta.inject-api</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.dagger</groupId>
        <artifactId>dagger</artifactId>
        <version>2.52</version>
    </dependency>
</dependencies>

然后在Maven编译插件中添加开启Jakarta模式的处理器参数:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <source>17</source> <!-- 替换为你的项目JDK版本 -->
                <target>17</target>
                <annotationProcessorPaths>
                    <path>
                        <groupId>com.google.dagger</groupId>
                        <artifactId>dagger-compiler</artifactId>
                        <version>2.52</version>
                    </path>
                </annotationProcessorPaths>
                <compilerArgs>
                    <!-- 核心参数:启用Jakarta模式 -->
                    <arg>-Adagger.jakarta=true</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 清理IntelliJ缓存与项目构建

  • 执行Maven清理命令:mvn clean
  • 在IntelliJ中打开File -> Invalidate Caches...,选择Invalidate and Restart,彻底清除旧的生成代码与缓存
  • 验证注解处理器配置:进入Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors,确保勾选Enable annotation processing,且Dagger注解处理器已被正确识别

3. 检查其他依赖兼容性

如果项目中使用了Hilt或其他基于Dagger的框架,需同步升级到支持Jakarta的版本,避免跨API依赖冲突。

内容的提问来源于stack exchange,提问作者carlos palma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:42:34