Failing to Generate Kotlin Entities from database schema
Answered
I was trying to use Schema > Scripted Extensions > Generate Kotlin Entities.kts
but stumbled upon the following:
Generate Kotlin Entities.kts:
javax.script.ScriptException: error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
val relations = JpaScriptsHelper.calculateRelations(mySelection, myProject) ^
error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
JpaScriptsHelper.chooseDestinationAndRun(mySelection, myProject) { table: DasTable, packageName: String -> ^
error: cannot access class 'com.intellij.openapi.project.Project'. Check your module classpath for missing or conflicting dependencies
JpaScriptsHelper.saveFile("$className.kt", generateEntityClass(table, relations, className, packageName), myProject) ^
error: cannot access class 'com.intellij.database.model.DasTable'. Check your module classpath for missing or conflicting dependencies
val columns = JpaScriptsHelper.getColumnsInfo(table, relations) ^ error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies return createFromTemplate("Kotlin Entity.kt", attributes, myProject, true) ^
error: cannot access class 'com.intellij.openapi.project.Project'. Check your module classpath for missing or conflicting dependencies
fun generateEquals(columns: List , className: String): String = createFromTemplate( ^ error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies createFromTemplate("Kotlin HashCode Method.kt", mapOf ("FIELDS" to columns.map { toCamelCase(it.name, false) }), myProject) ^
error: cannot access class 'com.intellij.openapi.project.Project'. Check your module classpath for missing or conflicting dependencies createFromTemplate("Kotlin ToString Method.kt", mapOf ("FIELDS" to columns.map { toCamelCase(it.name, false) }), myProject) ^
error: cannot access class 'com.intellij.openapi.project.Project'. Check your module classpath for missing or conflicting dependencies createFromTemplate("Kotlin Property.kt", ^ error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
createFromTemplate("Kotlin Relation Owner Property.kt", ^
error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
createFromTemplate("Jpa JoinColumn Annotation.kt", mapOf("COLUMN" to it.first, "REFERENCED_COLUMN" to it.second), myProject) ^
error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
createFromTemplate("Kotlin Relation Dependent Property.kt", ^ at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.asJsr223EvalResult(KotlinJsr223JvmScriptEngineBase.kt:104) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:63) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:31) at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264) in IdeScriptEngineManagerImpl$EngineImpl.lambda$eval$1(IdeScriptEngineManagerImpl.java:224)
Where
error: cannot access class 'com.intellij.openapi.project.Project'.
Check your module classpath for missing or conflicting dependencies
seems to be the main part.
Googling brought up nothing that even closely resembles a solution or any info in general.
It seems like I'm expected to add some kind of dependency but I have no intelligent idea where to get it.
Please sign in to leave a comment.
Here is a related issue on YouTrack:
https://youtrack.jetbrains.com/issue/IDEA-259838
Feel free to watch it in order to be notified once it has updates. See this article if you are not familiar with YouTrack.