Warm tip: This article is reproduced from serverfault.com, please click

java-使用Kotlin时Keycloak提供程序不起作用

(java - Keycloak provider does not work when using Kotlin)

发布于 2020-11-28 09:07:27

当转换Keycloak从样品认证供应商(密码提示问题认证)JavaKotlin,该插件不工作了部署Jar文件时,log会引发奇怪的错误,例如签名错误。据我所知,问题是Kotlin运行时库有没有办法解决这个问题?

Questioner
Kamyar
Viewed
0
Kamyar 2020-12-06 18:24:54

问题在于Kotlin具有依赖项(Kotlin StdLib或AKA Kotlin运行时)。尽管有许多文档和答案,但解决方案并未通过gradle build脚本下面的著名行来制作(所谓的)Fat JAR。解决依赖关系的正确方法是使用CLI或手动方法将它们添加为WildFly(JBoss)模块。

module add --name=org.jetbrains.kotlin --dependencies=org.jetbrains --resources=<path-to-jar-file>
module add --name=org.jetrains --rsources=<path-to-jar-file>

之后,我们可以在META-INF目录下的特殊JBoss文件jboss-deployment-structure.xml中添加:

<jboss-deployment-structure>
<deployment>
    <dependencies>
        <module name="org.jetbrains.kotlin" />
    </dependencies>
</deployment>

现在,罐子成功部署并工作了!