当转换Keycloak从样品认证供应商(密码提示问题认证)Java
来Kotlin
,该插件不工作了。部署Jar
文件时,log
会引发奇怪的错误,例如签名错误。据我所知,问题是Kotlin运行时库。有没有办法解决这个问题?
问题在于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>
现在,罐子成功部署并工作了!