如何添加kotlin类到gradle JavaCompile任务
我用spring引导来使用kotlin和java来开发我的项目。 我的构建工具是gradle,一个任务定义如下:
configurations { providedRuntime jpametamodel } dependencies { jpametamodel ('org.hibernate:hibernate-jpamodelgen:4.3.11.Final') } task generateMetaModel(type: JavaCompile, group: 'build', description: 'metamodel generate') { source = sourceSets.main.java classpath = configurations.compile + configurations.jpametamodel options.compilerArgs = ["-proc:only"] destinationDir = sourceSets.generated.java.srcDirs.iterator().next() doFirst { delete(sourceSets.generated.java.srcDirs) } }
这个任务适用于kotlin类,但是如果我添加kotlin类,任务不能通过抛出以下错误:
Hibernate JPA 2 Static-Metamodel Generator 4.3.11.Final /.../src/main/java/com/app/web/rest/UserResource.java:18: Cannot find ..... import com.app.web.rest.dto.SimpleUser; ^ Symbol: Class SimpleUser Position: Package com.app.web.rest.dto
SimpleUser在kotlin文件中定义:
SimpleUser.kt data class SimpleUser(val str:String)
Hibernate元模型生成器被实现为JSR 269注释处理器。 在使用Kotlin时,您需要通过应用kapt编译器插件明确启用注解处理。 当你这样做的时候,你会发现为Kotlin实体生成元模型。