Не удалось найти org.jetbrains.kotlinx:kotlinx-html:0.6.4

Я пытаюсь протестировать HTML-приложение, мои build.gradle зависимости:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    compile "org.jetbrains.ktor:ktor-core:$ktor_version"
    compile 'org.jetbrains.kotlinx:kotlinx-html:0.6.4'
    compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
    compile "org.apache.commons:commons-email:1.4"
    compile "org.slf4j:slf4j-simple:1.7.25"
    compile "ch.qos.logback:logback-classic:1.2.1"
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Я получил следующую ошибку при запуске сборки gradle:

Не удалось найти org.jetbrains.kotlinx:kotlinx-html:0.6.4

в чем здесь ошибка?


person Hasan A Yousef    schedule 24.09.2017    source источник


Ответы (2)


Здесь вы можете найти инструкции по включению kotlinx. Что вам нужно сделать, это добавить соответствующий репозиторий:

repository {
   jcenter()
}

и зависимости:

dependencies {
   compile 'org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.4' // server side dev
   compile 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.4'  // client side dev 
}
person Opal    schedule 24.09.2017
comment
Спасибо @Opal, вы можете помочь здесь, пожалуйста: stackoverflow.com/questions/46413579/kotlin-html-builder - person Hasan A Yousef; 25.09.2017

Благодаря @Opal, копаясь дальше после его ответа, я обнаружил, что могу использовать ktor-html-builder, поэтому мой код стал таким:

gradle.build:

group 'Example'

version 'alpha'

buildscript {
    ext.kotlin_version  = '1.1.4-3'
    ext.ktor_version    = '0.4.0'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'java'
apply plugin: 'kotlin'

sourceCompatibility = 1.8

repositories {
    jcenter()
    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 "org.jetbrains.ktor:ktor-html-builder:$ktor_version"

    compile "org.apache.commons:commons-email:1.4"
    compile "org.slf4j:slf4j-simple:1.7.25"
    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"
    }
}


jar {
    baseName 'abc'
    manifest {
        attributes 'Main-Class': 'blog.BlogAppKt'
    }

    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

И BlogApp.tk стало:

package blog

import kotlinx.html.*
import org.jetbrains.ktor.host.*   // for embededServer
import org.jetbrains.ktor.netty.*  // for Netty
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.html.*
import org.jetbrains.ktor.routing.*

fun Application.module() {
    install(DefaultHeaders)
    install(CallLogging)
    install(Routing) {
        get("/") {
            call.respondHtml {
                head {
                    title { +"HTML Application" }
                }
                body {
                    h1 { +"Sample application with HTML builders" }
                    widget {
                        +"Widgets are just functions"
                    }
                }
            }
        }
    }
}

fun FlowContent.widget(body: FlowContent.() -> Unit) {
    div { body() }
}

fun main(args: Array<String>) {
    embeddedServer(Netty, 8080, watchPaths = listOf("BlogAppKt"), module = Application::module).start()
}
person Hasan A Yousef    schedule 25.09.2017