如何正确配置Gradle的Kotlin插件?

我正在尝试构建一个基本的Gradle项目。 我的build.gradle文件如下。 我不断收到下面的错误。 我不明白,因为你可以在这里找到插件…我想我正在指向: https : //mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-gradle-plugin 更新:如果我注释掉Kotlin系列,弹簧启动插件也会发生同样的情况。 这不只是特定于Kotlin插件。 错误: Error:(21, 0) Plugin [id: 'kotlin', version: '1.1.1'] was not found in any of the following sources: – Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/3.3/userguide/standard_plugins.html for available core plugins) – Gradle Central Plugin Repository (no 'kotlin' plugin available – see https://plugins.gradle.org for available […]

Android库,Kotlin和Dagger2

我正在构建一个包含两个模块的应用程序:核心模块,即Android库(com.android.library)和应用程序模块(com.android.application)。 将Java文件转换为Kotlin后,该项目不编译,给我一个错误,没有找到生成的Dagger 2文件(未解决的参考)。 但是那些目前正在生成的文件是: …核心\编译\生成的\源\ kapt \ {释放我的\核心\命名空间} \ DaggerBaseComponent.java 我错过了什么? build.gradle(核心模块) apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions' … android { … sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { … // Dagger. kapt "com.google.dagger:dagger-compiler:2.10" compile 'com.google.dagger:dagger:2.10' provided 'javax.annotation:jsr250-api:1.0' // Kotlin compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } build.gradle(应用程序模块) apply plugin: 'com.android.application' […]

如何在kotlin中使用MapBuilder并添加所有值?

我试图转换/添加下面的Java代码在kotlin的竹规格,但geeting error.Can有人让我知道如何使用它在KOTLIN?如何使用kotlin他们正在使用java中的mapbuilder。 new AnyTask(new AtlassianModule("ch.mibex.bamboo.sonar4bamboo:sonar4bamboo.gradletask")) .description("Sonar Gradle") .configuration(new MapBuilder() .put("chosenSonarConfigId", "1") .put("useGradleWrapper", "true") .put("useNewGradleSonarQubePlugin", "true") .put("sonarJavaSource", "") .put("sonarProjectName", "") .put("buildJdk", "JDK") .put("gradleWrapperLocation", "${bamboo.build.working.directory}\\XYZ\\gradlew.bat") .put("sonarLanguage", "") .put("sonarSources", "") .put("useGlobalSonarServerConfig", "true") .put("failBuildForBrokenQualityGates", "") .put("sonarTests", "") .put("failBuildForSonarErrors", "") .put("sonarProjectVersion", "") .put("sonarBranch", "") .put("executable", "") .put("illegalBranchCharsReplacement", "_") .put("sonarJavaTarget", "") .put("environmentVariables", "") .put("replaceSpecialBranchChars", "") .put("additionalProperties", "") .put("autoBranch", "") .put("sonarProjectKey", "") […]

IntentService(kotlin)的默认构造函数

我是新的Kotlin和intentService一点点堆栈。 清单显示我的错误,我的服务不包含默认的构造函数,但内部服务看起来不错,没有错误。 这是我的意图服务: class MyService : IntentService { constructor(name:String?) : super(name) { } override fun onCreate() { super.onCreate() } override fun onHandleIntent(intent: Intent?) { } } 我也尝试了另一个变种: class MyService(name: String?) : IntentService(name) { 但是当我尝试运行这个服务时,我仍然得到一个错误: java.lang.Class<com.test.test.MyService> has no zero argument constructor 任何想法如何修复Kotlin中的默认构造函数? 谢谢!

Kotlin 0.11.91未解决参考:inv()

我正在使用Kotlin 0.11.91并得到一个未解决的参考关于位反转函数inv()。 没有其他功能有这个问题。 var h = hash + inv(hash shl 9)

是否可以注释Kotlin中的类构造函数?

澄清在kotlin命中1.0版之前,这个问题被问到。 示例中的语言语法现在已经过时,请按照官方文档。 我正在玩kotlin和春天DI 。 我想使用基于构造函数的依赖注入,所以我需要注释构造函数。 我尝试了下面的方法: Configuration Import(javaClass<DataSourceConfig>()) public open class AppConfig(dataSource: DataSource) { private val dataSource: DataSource Autowired { this.dataSource = dataSource } } Configuration public open class DataSourceConfig { Bean public open fun dataSource(): DataSource { // source omitted } } 但它不起作用。 甚至有可能在kotlin中注释构造函数吗? PS我正在使用Kotlin M10.1和Spring 4.1.4 更新:在kotlin中注释构造函数是可能的。 问题是,不允许使用基于构造函数的DI进行@Configuration

HashMap如何在Kotlin中实现MutableMap接口?

(注意:下面的一个Kotlin Koans有一个潜在的扰流器。) 给定一个函数如下所示的高阶函数: fun <K, V> buildMap(build: MutableMap<K, V>.() -> Unit): Map<K, V> { // How does java.util.HashMap satisfy the MutableMap interface? // Does Kotlin support ducktyping? val map = HashMap<K, V>() map.build() return map } java.util.HashMap如何满足build目标所针对的MutableMap接口? Kotlin是否支持某种类型的ducktyping,或者这是Kotlin语言中的一个特殊情况,只是作为JDK的一部分? 我看了接口上的Kotlin文档并搜索了一下,但找不到任何似乎可以解释的内容。

在kotlin中为Gradle脚本配置IntelliJ自动完成

我正在用IntelliJ中简单的hello-world应用程序试用gradle-script-kotlin 。 但IntelliJ自动完成不会在build.gradle.kts文件中弹出。 https://github.com/gradle/gradle-script-kotlin/tree/master/samples/hello-world build.gradle.kts: apply<ApplicationPlugin>() configure<ApplicationPluginConvention> { mainClassName = ".HelloWorld" } configure<JavaPluginConvention> { setSourceCompatibility(1.8) setTargetCompatibility(1.8) } repositories { jcenter() } dependencies { testCompile("junit:junit:4.12") } settings.gradle: rootProject.buildFileName = 'build.gradle.kts' 我安装了IntelliJ kotlin插件和gradle插件,并使用gradle 3.0。 示例应用程序使用gradle命令。 如何配置IntelliJ启用build.gradle.kts文件自动完成? 我正在使用IntelliJ 2016.2.2和kotlin插件版本:1.0.3-release-IJ2016.1-120

Kotlin + Spring AliasFor

我一直在尝试在Kotlin项目中使用Springs @AliasFor注解,但注解参数上的注释看起来在运行时是不可见的(因此Spring没有采用它)。 例如: @RequestMapping(method = arrayOf(RequestMethod.POST)) annotation class PostMapping( @get:AliasFor(annotation = RequestMapping::class, attribute = "value") vararg val value: String = arrayOf()) 和… // Returns empty array instead of array with the @AliasFor annotation PostMapping::class.java.methods[0].annotations 有什么我失踪?

如果在Kotlin Maven插件中为空,则跳过

我们已经在我们最顶级的项目POM中启用了Kotlin Maven插件,如下所示: <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>process-test-sources</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> ATM,本项目中只有少数模块有Kotlin源代码。 (该项目大约有50个模块。)这个想法是,大多数最终将有Kotlin代码,我们不希望每个项目的基础上联系起来。 我们想配置一次,忘记它。 这个工作除了我们得到这个警告在大多数模块的构建: [INFO] Kotlin Compiler version 1.0.2 [WARNING] No sources found skipping Kotlin compile 我们在JAR插件中也遇到了这个问题。 该插件有一个配置选项,可以让我们这样做: <configuration> <skipIfEmpty>true</skipIfEmpty> </configuration> 这个插件的类似的警告关闭。 Kotlin编译器插件似乎没有任何这样的配置选项。 所以,我的问题是: 有没有我们忽略的配置选项? 我们是否应该以不同的方式配置Kotlin编译器插件以避免此警告? TIA!