有没有办法通过脚本将模块部署到 Wildfly(例如,无需手动修改 XML 文件(?我知道要add module
jboss-cli.sh
命令,但是有没有办法直接修改我的standalone.xml
/domain.xml
或做一些等效的事情来告诉Wildfly加载模块?
换一种方式说...
我发现了两种部署模块的方法:
1( 通过将 jar 复制到$KEYCLOAK_HOME/standalone/deployments
中直接热部署 jar (根据该目录中的自述文件,不建议将此方法用于生产部署,但之后无需任何手动工作即可使用此方法。
2( 运行jboss-cli.sh --command="module add --name=com.example.MySpi"
然后手动编辑standalone.xml
(或domain.xml
(以将您的模块放在"提供程序"列表中,如下所示:
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
<web-context>auth</web-context>
<providers>
...
<provider>module:com.example.MySpi</provider>
</providers>
...
</subsystem>
。最后重新启动服务器。
我想使用推荐的方式,但不手动编辑 XML 文件。有推荐的路径吗?
你可以做类似的事情
jboss-cli.sh --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"
基本上,你可以用jboss-cli编写所有独立的脚本.xml。要详细了解您的配置在内部的外观,您可以尝试在 jboss-cli 中/subsystem=keycloak-server:read-resource(recursive=true)
。
抱歉,还不能添加评论,所以我在这里添加这个。
我不得不将--connect
选项添加到上面的命令中,否则它会抱怨no connection to the controller
.
然后整个命令将是:
jboss-cli.sh --connect --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"