有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将kotlin类添加到gradle JavaCompile任务

我使用kotlin和java以及spring boot来开发我的项目。 我的构建工具是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)
  }
}

此任务与out 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)

共 (1) 个答案

  1. # 1 楼答案

    Hibernate元模型生成器是作为JSR 269注释处理器实现的。使用Kotlin时,需要通过applying the kapt compiler plugin显式启用注释处理。当您这样做时,您会发现为Kotlin实体生成了元模型