저는 Kotlin 및 Ktor and Gradle을 매우 신 낯설습니다.Ktor 임베디드 서버의 .jar (실행 파일 작성) 작성 방법
BlogApp.kt :
package blog
import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*
fun Application.module() {
install(DefaultHeaders)
install(CallLogging)
install(Routing) {
get("/") {
call.respondText("My Example Blog sfs 122", ContentType.Text.Html)
}
}
}
fun main(args: Array<String>) {
embeddedServer(Netty, 8080, watchPaths = listOf("BlogAppKt"), module = Application::module).start()
}
및 build.gradle :
group 'Example'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.1.4-3'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
ext.ktor_version = '0.4.0'
repositories {
mavenCentral()
maven { url "http://dl.bintray.com/kotlin/ktor" }
maven { url "https://dl.bintray.com/kotlin/kotlinx" }
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
compile "org.jetbrains.ktor:ktor-core:$ktor_version"
compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
compile "ch.qos.logback:logback-classic:1.2.1"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
kotlin {
experimental {
coroutines "enable"
}
}
서버 다음 코드로, Ktor 사이트에 설명 된대로 임베디드 서버를 만들 수 있었다 다음에서 잘 실행하십시오. localhost:8080
그리고 아래 파일을 볼 수 있습니다.
C:\Users\Home\IdeaProjects\Example\out\production\classes\blog
가 어떻게이 서버의 실행 파일의 .jar을 만들 알 수 있습니다, 그래서 사용자에게 배포 할 수 있습니다 다음 out
폴더에? 당신이해야 할 일은
IJ 터미널에서 실행할 때 'gradle'이 내부 또는 외부 명령 인 실행 가능 프로그램이나 배치 파일로 인식되지 않습니다. –
cmd에서 실행할 때, 다음과 같이 나타납니다. * 무엇이 잘못 되었습니까 : 루트 프로젝트 '블로그'에서 '깨끗한'작업을 찾을 수 없습니다. –
@HasanAYousef, 올바른 위치에서 실행하고 java 및 kotlin 플러그인을 적용 했습니까? – Opal