找不到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
这里有什么错误?
在这里你可以找到关于包括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 }
感谢@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() }
- 尝试在金丝雀上迁移5
- 从gradle创建maven包装器pom.xml:不能创建<build>元素
- gradle无法使用kotlin类编译java类
- Android测试失败时,Gradle构建失败,“字符串索引超出范围”
- kotlin-kapt插件不使用“kapt.generateStubs”
- 有没有像Gradle中有效的pom(Maven)?
- 使用kotlin的自定义风格中的ClassNotFoundException
- Gradle:运行某个类的任务
- IntelliJ Idea for Kotlin @ConfigurationProperties类中不生成spring-configuration-metadata.json文件