文件就可以了,迁移到android studio中,改用他的签名方式,jks,发现有很多奇怪的错误,debug的签名包是不会报错: Could not find org.jetbrains.kotlin:kotlin-reflect : - file:/E:/android/adt-bundle-windows-x86-20130917/sdk/extras/m2repository/org/jetbrains/kotlin/kotlin-reflect file:/E:/android/adt-bundle-windows-x86-20130917/sdk/extras/google/m2repository/org/jetbrains/kotlin/kotlin-reflect /1.2.41/kotlin-reflect-1.2.41.jar - https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-reflect /1.2.41/kotlin-reflect-1.2.41.pom - https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-reflect
kotlinlang.org/docs/reflection.html 可以使用KProperty的name属性获取到其属性名 User::name.name 当然其还有很丰富的其他属性、函数 在项目中使用其,需要先引入kotlin-reflect 依赖 <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId
吉拉德 kotlin里获取属性注解首先引入反射依赖: <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect
另外工程内有一部分代码使用了kotlin-reflect的能力,而kotlin-reflect很多能力都是通过读取元数据来完成的。 其中如果元数据丢失了可能就会影响到的就是一些kotlin和java的互相调用,还有就是一些kotlin-reflect的调用。
implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect kotlin-stdlib-jdk8") testImplementation("org.springframework.boot:spring-boot-starter-test") } 特别注意: kotlin-reflect implementation("org.jetbrains.kotlin:kotlin-stdlib") implementation("org.jetbrains.kotlin:kotlin-reflect 易于维护 最佳实践总结: 使用 kotlin("plugin.spring") 解决代理问题; 优先使用构造函数注入和 data class; 正确配置 jackson-module-kotlin 和 kotlin-reflect
错误详情: Could not download kotlin-reflect.jar (org.jetbrains.kotlin:kotlin-reflect:1.1.3-2): No cached
问题 在某个没有使用Kotlin的项目中,第一次编译的时候报出: Could not download kotlin-reflect.jar (org.jetbrains.kotlin:kotlin-reflect
1.1.2.jar (version 1.1) C:/Users/Qingwen/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect /kotlin-stdlib-1.1.2.jar (version 1.1) Warning:Kotlin: Consider providing an explicit dependency on kotlin-reflect 如果要排除的话也很简单,按照警告提示直接删除 C:/Users/<your name>/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect
</dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect /dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect
spring-boot-starter-web') compile("org.jetbrains.kotlin:kotlin-stdlib-jre8") compile("org.jetbrains.kotlin:kotlin-reflect spring-boot-starter-data-jpa:JPA的启动器 spring-boot-starter-freemarker:freemarker的启动器 kotlin-stdlib-jre8:kotlin基于jre8的标准库 kotlin-reflect
compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:${kotlinVersion}") compile("org.jetbrains.kotlin:kotlin-reflect compile "org.jetbrains.kotlin:kotlin-stdlib-jre8" 如果项目中使用 Kotlin 反射,添加反射依赖: compile "org.jetbrains.kotlin:kotlin-reflect compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:${kotlinVersion}") compile("org.jetbrains.kotlin:kotlin-reflect
compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion") compile("org.jetbrains.kotlin:kotlin-reflect
org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"//主要是这两个依赖 compile "org.jetbrains.kotlin:kotlin-reflect
dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect
spring-boot-starter-web') compile("org.jetbrains.kotlin:kotlin-stdlib-jre8") compile("org.jetbrains.kotlin:kotlin-reflect
kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect
= null } Android 工程增加依赖(Kotlin 反射库) 1 implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version
通过 kotlin-reflect 库使用 Kotlin 反射的应用同样需要 Kotlin 元数据。应用和开发库所面临的问题是一样的。 如果 Kotlin 元数据被删除或者没有被正确更新,kotlin-reflect 库就无法将代码作为 Kotlin 代码进行处理。
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile("org.jetbrains.kotlin:kotlin-reflect
通过 kotlin-reflect 库使用 Kotlin 反射的应用同样需要 Kotlin 元数据。应用和开发库所面临的问题是一样的。 如果 Kotlin 元数据被删除或者没有被正确更新,kotlin-reflect 库就无法将代码作为 Kotlin 代码进行处理。