gpt4 book ai didi

gradle - Kotlin Quasar 示例不起作用

转载 作者:行者123 更新时间:2023-12-02 12:49:29 28 4
gpt4 key购买 nike

我正在测试 Kotlin Quasar actor 示例。
Quasar and Kotlin – a Powerful Match
所以问题是,这个例子是否过时了,是否有任何文档可以让我找到如何使用 Kotlin 和 Quasar?

这是我的 gradle.build 文件。

group 'no.inmeta.kotlin.akka'
version '1.0-SNAPSHOT'

buildscript {
ext.kotlin_version = '1.0.1'

repositories {
mavenCentral()
}

dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'

repositories {
mavenCentral()
}

dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "co.paralleluniverse:quasar-kotlin:0.7.4"
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
}

最佳答案

我是 Quasar 团队的一员。

该帖子引用了 Quasar 测试,您可以通过克隆 Quasar 存储库并运行例如运行这些测试。 gradle :quasar-kotlin:build (需要安装 Gradle),但对于新项目/实验,我建议从 Gradle template, kotlin branch 开始。现在使用最新的 Kotlin 1.0.1-2 (为了简单起见,最新的 Quasar 0.7.5-SNAPSHOT 取决于它)。

从我构建的那个模板开始this project (有关如何配置它并在主自述文件中运行它的更多信息)运行与普通程序而不是测试相同的 Quasar actor 测试。这是它的build.gradle :

group 'no.inmeta.kotlin.akka'
version '1.0-SNAPSHOT'

buildscript {
ext.kotlinVer = '1.0.1-2'

repositories {
mavenCentral()
}

dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVer"
}
}

apply plugin: 'kotlin'
apply plugin: 'application'

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

sourceCompatibility = 1.8 // 1.7
targetCompatibility = 1.8 // 1.7

configurations {
quasar
}

configurations.all {
resolutionStrategy {
failOnVersionConflict()
}
}

repositories {
// mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/releases" }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
// maven { url 'https://maven.java.net/content/repositories/snapshots' }
}

ext.classifier = ':jdk8' // ':'

ext.quasarVer = '0.7.5-SNAPSHOT'

dependencies {
compile "co.paralleluniverse:quasar-core:${quasarVer}${classifier}"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVer"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlinVer"
compile "co.paralleluniverse:quasar-kotlin:${quasarVer}"

quasar "co.paralleluniverse:quasar-core:${quasarVer}${classifier}@jar"
}

applicationDefaultJvmArgs = [
"-Dco.paralleluniverse.fibers.verifyInstrumentation=true",
"-Dco.paralleluniverse.fibers.detectRunawayFibers=false",
"-javaagent:${configurations.quasar.singleFile}" // =v, =d
]

// mainClassName = 'co.paralleluniverse.kotlin.actors1.PingPongKt'
mainClassName = 'co.paralleluniverse.kotlin.actors2.PingPongWithDeferKt'

task wrapper(type: Wrapper) {
gradleVersion = '2.12'
}

defaultTasks 'run'

关于与您的构建文件的差异的一些说明:
  • 由于我将测试转换为程序,因此我包含了 application插件及其配置(此处为 applicationDefaultJvmArgsmainClassName )以及将默认 Gradle 任务设置为 run .
  • 除了上述之外,还生成并推送了一个 gradle 包装器,以便 ./gradlew是您在命令行上所需要的一切,无需安装本地 Gradle(如何在 IDE 中运行它取决于 IDE)。
  • 您需要运行 Quasar 代理(或 AoT 仪器,但在此处使用代理),所以有一个 quasar指向工件的配置,然后用于传递 -javaagent:${configurations.quasar.singleFile} JVM 参数。
  • 使用 Java 8 作为 Quasar 有一个特定的优化构建。

  • 另请注意,现在有一个 1.0 branch of the quasar-kotlin-jetbrains-webinar project (实际上是 HEAD 之一),其中包含 this guest webinar with IntelliJ 的配套源代码, 也移植到最新的 Kotlin 和 Quasar。

    让我知道这是否有帮助。

    关于gradle - Kotlin Quasar 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719303/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com