Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle Kotlin类星体示例不起作用_Gradle_Kotlin_Quasar - Fatal编程技术网

Gradle Kotlin类星体示例不起作用

Gradle Kotlin类星体示例不起作用,gradle,kotlin,quasar,Gradle,Kotlin,Quasar,我正在测试Kotlin类星体演员的例子。 所以问题是,这个例子是否过时了,是否有任何文档可以让我了解如何使用Kotlin和Quasar 这是我的gradle.build文件 group 'no.inmeta.kotlin.akka' version '1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.0.1' repositories { mavenCentral() } dependencies { classpa

我正在测试Kotlin类星体演员的例子。 所以问题是,这个例子是否过时了,是否有任何文档可以让我了解如何使用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 repo并运行,例如
gradle:Quasar-kotlin:build
(需要安装gradle),但对于新项目/实验,我建议从现在使用最新kotlin
1.0.1-2
(为了简单起见,最新的类星体
0.7.5-SNAPSHOT
依赖于它)

从我构建的模板开始(关于如何配置它以及如何在主自述文件中运行它的更多信息),该模板运行与普通程序相同的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'
关于与生成文件的差异的一些注意事项:

  • 由于我将测试转换为程序,我将包括
    应用程序
    插件及其配置(这里是
    applicationDefaultJvmArgs
    mainClassName
    ),以及将默认的Gradle任务设置为
    run
  • 除上述内容外,还生成并推送了一个gradle包装器,因此命令行上只需
    /gradlew
    ,而无需本地安装gradle(如何在IDE中运行它取决于IDE)
  • 您需要运行Quasar代理(或AoT插装,但在这里使用代理),因此有一个
    Quasar
    配置指向工件,然后用于传递
    -javaagent:${configurations.Quasar.singleFile}
    JVM参数
  • 使用Java8作为Quasar有一个特定的优化构建
还请注意,现在有一个(实际上现在是
一个),它包含了的配套源代码,也移植到了最新的Kotlin和Quasar


让我知道这是否有帮助。

您遇到了什么错误?我得到了import co.paralleluniverse.kotlin.actor的未解析引用。您是否尝试从控制台构建项目?在IDE中刷新项目?可能只是您的IDE在抱怨?该类位于一个引用的JAR中,应该可用。回答很好,这个问题帮助很大!!