小编mar*_*one的帖子

Kotlin与Java混合错误:找不到符号

我是kotlin的新手,所以我开始克隆https://github.com/Kotlin/kotlin-koans存储库来学习这个新的languange.

我已经安装了kotlin插件,并且在关注ray-wenderlich教程之前也尝试使用android项目并且它工作正常(我还不能发布超过2个链接.)

因此,在我克隆kotlin-koans并尝试第一次运行它之后,这就是我得到的:截图

我尝试在互联网上搜索.但似乎我仍然无法找到解决方案.

这是gradle.build

 buildscript {
    ext.kotlin_version = '1.1.0'

    repositories {
        mavenCentral()
    }

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

apply plugin: 'kotlin'

sourceSets {
    main.java.srcDirs += 'src'
    test.java.srcDirs += 'test'
}

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile 'com.google.guava:guava:16.0'
    testCompile 'junit:junit:4.12'
}
Run Code Online (Sandbox Code Playgroud)

当我使用终端运行测试时,这就是发生的事情.

    D:\kotlin-koans>gradlew test
:compileKotlin                             
e: java.lang.ClassNotFoundException: com.sun.tools.javac.util.Context
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.jetbrains.kotlin.gradle.tasks.JarSearchingUtilKt.findToolsJar(jarSearchingUtil.kt:45)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:21)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:15)
        at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment.getToolsJar(GradleCompilerEnvironment.kt) …
Run Code Online (Sandbox Code Playgroud)

java kotlin

5
推荐指数
0
解决办法
1039
查看次数

Kotlin 中 println 前的双冒号是什么意思

println下面的 Kotlin 代码中前面的双冒号是什么意思?

class InitOrderDemo(name: String) {
   val firstProperty = "First property: $name".also(::println)
}
Run Code Online (Sandbox Code Playgroud)

代码打印:

第一个属性:你好

kotlin

5
推荐指数
1
解决办法
3057
查看次数

不同程序包中的同一个库不起作用

更新到最新版本之后,构建项目时出现一个奇怪的错误:

[:feature_x, :feature_y] all package the same library  [com.github.PhilJay:MPAndroidChart].
Run Code Online (Sandbox Code Playgroud)

我确实在两个功能中都添加了该库。它们设置为依赖项,例如:

api "com.github.PhilJay:MPAndroidChart:$rootProject.MPAndroidChart"
Run Code Online (Sandbox Code Playgroud)

这有什么问题?

android build gradle

5
推荐指数
1
解决办法
392
查看次数

Ruby Sorbet 哈希类型检查

我想了解为什么冰糕不抱怨这个例子:例子

sig {params(x: T::Hash[String, String]).void}
def foo(x)
  x.each do |k, v|
    puts "key = #{k}, value = #{v}"
  end
end

hash = {}
hash[1] = 1
foo(hash) #  I'd expect this to fail to type-check
Run Code Online (Sandbox Code Playgroud)

我已声明foo接受 [String, String] 的哈希值,但我传递的是 [Integer, Integer] 的哈希值。我以为冰糕会在这里抱怨......

有没有办法让它在这种情况下出错?

ruby sorbet

1
推荐指数
1
解决办法
943
查看次数

标签 统计

kotlin ×2

android ×1

build ×1

gradle ×1

java ×1

ruby ×1

sorbet ×1