我无法用Spring Boot和Kotlin注册一个自定义的ExceptionMapper。 @Configuration @ApplicationPath(“/api”) class JerseyConfig : ResourceConfig() { init { register(JWTAuthExceptionMapper::class.java) .register(GsonProvider::class.java) .register(PingResource::class.java) .register(AuthResource::class.java) } } 映射器: import org.springframework.stereotype.Component import javax.ws.rs.core.Response import javax.ws.rs.ext.ExceptionMapper import javax.ws.rs.ext.Provider @Provider @Component class JWTAuthExceptionMapper() : ExceptionMapper { override fun toResponse(exception: JWTAuthException?): Response { return Response.status(Response.Status.UNAUTHORIZED).entity(exception?.message).build() } } JWTAuthException不调用toResponse方法。 我想念什么?
在关于Kotlin和Spring Boot的最新video: Spring Tips:Bootiful Kotlin Redux 。 Spring Boot的Application类看起来像: class SpringBootKotlinApplication fun main(args: Array) { } 我记得Kotlin必须注明在Spring Boot中是open 。 open class SpringBootKotlinApplication 看这个video 。 那么为什么现在没有必要注释? Spring Boot是否需要现在扩展Application类?
我是新的kotlin,我已经尝试了几种使用下面的代码的方法 val strAction = “Grid” when(strAction){ strAction.contains(“Grid”)->println(“position is 1”) } 在上面的代码strAction.contains(“Grid”)这行显示了一个不兼容types的错误
我试图公开一些数据类作为JSON对象,但有些不工作。 我有以下数据类: data class Link( @JsonProperty(“rel”) @JsonView(View.Bind::class) val rel: String, @JsonProperty(“method”) @JsonView(View.Bind::class) val method: HttpMethod, @JsonProperty(“href”) @JsonView(View.Bind::class) val href: String) data class MetaData(val status: HttpStatus) { @JsonView(View.Bind::class) @JsonProperty(“status_code”) fun getStatusCode(): Int { return status.value() } @JsonView(View.Bind::class) @JsonProperty(“status_desc”) fun getStatusDesc(): String { return status.name } } data class Payload( @JsonView(View.Bind::class) @JsonProperty(“payload”) val payload: Any, @JsonProperty(“_meta”) @JsonView(View.Bind::class) […]
我从kotlin使用,但是当我在我的项目中同步它,让我波纹管错误: Error:Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-3. Searched in the following locations: file:/D:/android-studio/gradle/m2repository/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.pom file:/D:/android-studio/gradle/m2repository/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.jar https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.pom https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.jar Required by: project : 这是我的build.gradle(Module) : apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ android { compileSdkVersion 25 buildToolsVersion “25.0.3” defaultConfig { applicationId “ir.baslam.kotlinme” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), […]
我目前有一个testot安装Kotlin项目,当我右键单击src/test/kotlin文件夹,并选择Run All Tests 。 有用。 但是当我尝试用gradle输出一个源代码jar(包含测试用例)时,它开始抱怨: 18:38:08: Executing task ‘sourcesJar’… e: /Users/a/codes/objjson/src/test/kotlin/tests.kt: (7, 12): Unresolved reference: testng e: /Users/a/codes/objjson/src/test/kotlin/tests.kt: (22, 5): Unresolved reference: assertEquals e: /Users/a/codes/objjson/src/test/kotlin/tests.kt: (60, 6): Unresolved reference: Test ……. :compileKotlin FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:compileKotlin’. > Compilation error. See log for […]
花了大量的时间想弄清楚为什么我的匕首注射不起作用, 我意识到Kotlin中的“对象”types是个问题。 以下行不通,注入的“财产”是空的。 object SomeSingleton { @Inject lateinit var property: Property init { DaggerGraphController.inject(this) } } 但是,下面的DID工作得很好: class NotSingleton { @Inject lateinit var property: Property init { DaggerGraphController.inject(this) } } 我试过谷歌,我试过文件,但我不能指出背后的原因。 另外请注意,我还没有尝试过这与JAVA,JAVA没有反正建立单身人士的概念。 这是为什么? 为什么一个科特林单身人士无法注射成员,但一个非单身人士课程可以?
在Kotlin我有一个数据类。 data class APIResponse(val status: String, val code: Int, val message: String, val data: T?) 我想申报另一个类来包含这个: class APIError(message: String, response: APIResponse) : Exception(message) {} 但是Kotlin给出的错误是:在com.mypackagename中定义的APIResponse类的一个types参数 在Java中,我可以这样做: class APIError extends Exception { APIResponse response; public APIError(String message, APIResponse response) { super(message); this.response = response; } } 我如何将代码转换为Kotlin?
我写了一个已上传到私人服务器的库。 当我将库作为依赖包含在我的应用程序项目中,并查看其中一个库类的源代码时,源代码实际上并未反编译。 它只显示类名和方法。 例如: package com.example.library.ui public final class RoundedDrawable public constructor() : android.graphics.drawable.Drawable { public final var backgroundColor: kotlin.Int /* compiled code */ // … other similar fields public open fun draw(canvas: android.graphics.Canvas): kotlin.Unit { /* compiled code */ } // … other similar functions } 正如你所看到的,它只显示/* compiled code */注释,而不是完整的源代码。 有一个选项提交给“反编译为Java”; 哪些工作,但我宁愿看到Kotlin的来源。 这可能吗? 我发现类似的问题 […]
我有一个Kotlin扩展function来添加另一个Kotlin文件中的一个片段 fun Fragment.addFragment(tag: String?, id: Int, fragmentManager: FragmentManager) { // will take care of adding the fragment. val fragmentTransaction = fragmentManager.beginTransaction() fragmentTransaction.add(id, this, tag) fragmentTransaction.addToBackStack(tag) fragmentTransaction.commit() } 但是,每当我使用该扩展function添加一个片段,然后我得到这个崩溃 java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.support.v4.app.Fragment.setNextAnim(int)’ on a null object reference 我正在使用这样的扩展function: MyFragment().addFragment(“MyFragment”, R.id.frame, fragmentMaganer) 上述语句后,如果我试图调试我的代码,那么它的执行成功,直到 fragmentTransaction.commit() 但在此之后,在我的activity的onStart()方法,我面临着这个NullPointerException问题 但是,如果我直接在Activity中使用相同的代码: val myFragment = MyFragment() val fragmentTransaction […]