Я использую простые текстовые редакторы, чтобы написать свой код в Kotlin, например:
fun main() {
var sc = Scanner(System.`in`)
var a = sc.nextInt()
var b = sc.nextInt()
print(a + b)
}
И я пробовал просто скомпилировать и запустить код в командной строке с помощью
kotlinc hello.kt -include-runtime -d hello.jar
, за которым следует
java -jar hello.jar
Но я не знаю, почему в последнее время на компиляцию даже самого простого кода уходит более 5 секунд, поэтому я решил использовать Gradle для компиляции и запуска. мой проект. Обычно для компиляции и запуска требуется меньше времени, но я не могу использовать его для запуска, когда хочу ввести некоторые значения. Я попытался найти какое-то решение, но лучшее, что я смог найти, - это дать некоторый сигнал Gradle, что вы хотите вводить какой-либо ввод во время сборки, но это означало, что сборка каждый раз менялась для другого кода. Поэтому мне было интересно, могу ли я настроить свой build.gradle
так, чтобы он мог выдавать мне исполняемый файл jar, который я мог бы запустить.
Вот мой файл build.gradle:
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
maven { url "https://dl.bintray.com/kotlin/kotlin-eap" }
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4-M1"
}
}
plugins {
id 'application'
}
apply plugin: "kotlin"
repositories {
maven { url "https://dl.bintray.com/kotlin/kotlin-eap" }
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
group 'sangeet'
version '1.0'
mainClassName = 'MainKt'
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
sourceSets {
main.java.srcDirs += './'
}
defaultTasks 'run'
run {
if (project.hasProperty('main')) {
main(project.main.replace(".kt", "Kt").capitalize())
}
}