buildscript {
ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'com.ali'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
public interface MyMath {
static int myAbs(int input) {
return Math.abs(input);
}
}
当我导入此接口并尝试调用myabs
方法时,它将失败,并出现以下错误:
Error:(6, 12) Kotlin: Calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'
我已经创建了一个intellij kotlin应用程序,它的工作是正确的。是新Kotlin gradle插件的bug吗?
我认为这对那些在Mac上使用Android Studio3.2的用户会有帮助。
要更改Kotlin编译器目标JVM版本,您应该转到Android Studio->Preferences->Kotlin编译器,然后从下拉菜单中选择更改目标JVM版本。
不管怎样,我仍然得到以下错误
已解决
将以下内容添加到我的build.gradle解决了这个问题:
android {
kotlinOptions {
jvmTarget = '1.8'
}
}
关于这个和其他Gradle配置选项:https://kotlinlang.org/docs/reference/using-Gradle.html
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
(kotlinOptions as KotlinJvmOptions).apply {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
我正在与Kotlin和Dagger 2开发一个Android项目。我有一个,它应该提供一个改造的单一实例。我在其中定义了所有这些提供程序函数。 以下所有代码段都在中: 正如您在我的build.gradle中所看到的,我已经声明了构建目标是JVM1.8。为什么我还是会犯这个错误?
在C中,您可以将许多内容声明为:变量、函数(包括成员函数和运算符)、构造函数,以及从C 1z开始的语句和lambda表达式。但是,声明析构函数会导致错误: 我的问题: 为什么不能将析构函数标记为constexpr 如果我没有提供析构函数,那么隐式生成的析构函数是constexpr吗 如果我声明一个默认析构函数(
我在尝试向我的kotlin spring项目添加一些依赖项时遇到了一个问题。我使用Spring Boot初始化器来运行一个基本项目。 我的问题:如果我取消对jackson或Koin依赖项的注释,那么我的构建就会失败,在titile中提到了build.gradle.kts文件,这里是build.gradle.kts: 我已经有了KotlinCompile jvmTarget选项,并且在我的构建设置中
前面说了这么多 Qt 的介绍,相信一定有很多朋友还是要问,那么我们为什么要选择 Qt 做开发呢,它到底有哪些突出的优势呢,下面就是笔者给出的答案。 Qt 是基于 C++ 的一种语言扩展(Extention) C/C++ 目前还是一种很多人都在学习的语言. Qt 的好处就在于 Qt 本身可以被称作是一 种 C++ 的延伸。Qt 的类都是用 C++ 写出来的。这也就是说, Qt 本身已经继承了 C++
我花了很多时间研究如何调用Maven shade插件来构建uber jar(具有所有依赖项)。我找到的大多数支持google的信息(包括许多示例和Maven文档)表明,我所要做的就是将插件包含到pom中。xml: 然后,“mvn包”(或最终调用“包”的任何其他目标)将自动触发此插件。 但不管我怎么做,真正调用插件的唯一方法似乎是:运行“mvn package shade:shade”(这似乎违背了
问题内容: 我想与Jenkins一起针对Maven 2项目启动SonarQube分析。我首先在构建配置中使用了目标。 但是我刚刚找到了Jenkins的SonarQube插件。为什么要使用它?这是更好的做法,为什么? 问题答案: 您当然可以做一个简单的,这将起作用。 另一方面,还有用于Jenkins的SonarQube插件,它将使配置更加容易。例如,您将能够在一个位置(Jenkins的配置部分)定义