Как выполнить часть кода Котлина, используя язык Котлин?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выполнить часть кода Котлина, используя язык Котлин?

Сообщение Anonymous »

я хочу выполнить фрагмент кода, например этот:
val userCode = """
fun main() {
println("Hello, world!")
}
""".trimIndent()

внутри моего проекта на Kotlin! Итак, я спросил кого-то, и они сказали, что я могу использовать этот способ, если захочу:
val userCode = """
fun main() {
println("Hello, world!")
}
""".trimIndent()

// Create a scripting engine
val scriptEngine = ScriptEngineManager().getEngineByExtension("kts")

B

но это не работает, потому что ScriptEngineManager не определен и не найден в проекте! Поэтому я также добавил эти зависимости в свой проект:
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-script-runtime:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm-host:1.9.0")

но его все равно не существует! Я не знаю, что делать и в чем проблема... Есть ли альтернативные способы сделать это?
Я пытался добавить некоторые зависимости в файл gradle, но все равно нет работает!
РЕДАКТИРОВАТЬ: Вот мой материал Gradle:
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}

android {
namespace = "com.example.myapplication"
compileSdk = 34

defaultConfig {
applicationId = "com.example.myapplication"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}

dependencies {
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("com.squareup.retrofit2:converter-scalars:2.9.0")

implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-script-runtime:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm-host:1.9.0")

implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.1")
implementation("androidx.activity:activity-compose:1.9.0")
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... n-language
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»