klasse Ich benutze Kotlin und Java mit Spring Boot, um mein Projekt zu entwickeln. Mein Build-Tool ist gradle, eine Aufgabe wie folgt definiert ist:Wie kotlin class hinzufügen, um JavaCompile task
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)
}
}
Diese Aufgabe aus Kotlin Klasse funktioniert, aber wenn ich Kotlin Klasse hinzufügen, kann die Aufgabe nicht funktioniert, indem Sie die folgenden Fehler werfen:
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
Die SimpleUser werden in Kotlin Datei definiert:
SimpleUser.kt
data class SimpleUser(val str:String)
FYI Sie müssen kein Meta-Modell generieren, wenn Sie nicht wollen - siehe [kotlin-jpa-Spezifikation-dsl] (https://github.com/consoleau/kotlin-jpa-specification- dsl) –
Das Meta-Modell wird in meinem anderen Java-Code verwendet. – Exia