在混合Java/Kotlin项目中使用Dagger 2的推荐Maven设置是什么?
我找到了一个使用Gradle的示例项目:https://github.com/damianpetla/kotlin-dagger-example 与Maven类似的东西会非常有用.
更新:我尝试了什么?
我用从科特林配置kotlinlang.org/docs/reference/using-maven.html 和匕首配置google.github.io/dagger.我还使用了build-helper-maven-plugin插件来集成IDEA中的注释处理.
我的主要问题是我遇到了编译周期.我的配置混合了Kotlin的编译并调用了注释处理器,它生成了Dagger2类.我没有系统地尝试将两个阶段分开但缺乏更深入的Maven理解以使其工作.
这是对这些问题的跟进:
似乎 kapt 已经发展了,现在它甚至在 Maven 中得到支持。我正在尝试这个(注意配置中的 Lombok 注释处理器):
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>kapt</id>
<goals>
<goal>kapt</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/java</sourceDir>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
</sourceDirs>
<annotationProcessors>
<annotationProcessor>lombok.core.AnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</execution>
...
</plugin>
Run Code Online (Sandbox Code Playgroud)
但它似乎仍然没有效果,而且 Lombok@Getter仍然被忽略,如相关问题中所述。
有什么可以做的吗?