首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打包密钥斗篷扩展提供程序作为EAR

打包密钥斗篷扩展提供程序作为EAR
EN

Stack Overflow用户
提问于 2019-12-11 15:27:17
回答 1查看 1.5K关注 0票数 4

我是在一个项目,愿意扩展键盘斗篷功能与新的。为了做到这一点,我们使用SPI,并且我们有多个jar文件用于热部署到Wildfly的keycloak服务器。我们对jars之间的依赖有很大的问题。我们需要将所有功能打包为EAR,但我没有找到正确的配置。我的例子是一个后Keycloak - Custom SPI does not appear in list,它解释了如何将jar打包到EAR中以便在Jboss上部署,并且不清楚我们应该将jar依赖项放在哪里。

关于mavem项目结构的详细信息:

代码语言:javascript
复制
KeycloakProject (packaging pom)
|
+ - keycloak-entities-providers (packaging pom)
| |
| +- keycloak-first-entity-provider (packaging jar)
| |          |
| |          +- META-INF
| |             |
| |             +- services
| |                |
| |                +- org.keycloak.authentication.AuthenticatorFactory
| |                +- org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory
| |                |  ...
| |                +- jboss-deployment-structure.xml
| +- keycloak-second-entity-provider (packagind jar)
|            |
|            +- META-INF
|               |
|               +- services
|               |  |
|               |  +- org.keycloak.services.resource.RealmResourceProviderFactory
|               |   ...
|               +- jboss-deployment-structure.xml
+- keycloak-identity-providers (packaging pom)
  |
  +- keycloak-first-identity-provider (packaging jar)
  |          |
  |          +- META-INF
  |             |
  |             +- services
  |                |
  |                +- org.keycloak.authentication.AuthenticatorFactory
  |                +- org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory
  |                |  ...
  |                +- jboss-deployment-structure.xml
  +- keycloak-second-identity-provider (packagind jar)
             |
             +- META-INF
                |
                +- services
                |  |
                |  +- org.keycloak.services.resource.RealmResourceProviderFactory
                |   ...
                +- jboss-deployment-structure.xml

我需要知道EAR包上是否有一个JBos-Deployment-structure.xml,在本例中必须包含哪些内容。每个jar文件都有自己的依赖项,并且需要依赖另一个jar文件(就像keycloak-第二个实体-提供者依赖于keycloak-)。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-12-11 22:26:01

是的,您应该只为整个EAR包创建一个jboss-deployment-structure.xml描述符。它应该在耳伪源中定义。servicespersistence.xml和其他东西应该和它们相应的jars一起保存。因为每个SPI都有单独的工件,所以可能必须在jboss-deployment-structure.xml中将每个jar声明为单独的jboss-deployment-structure.xml。然后,您还必须将每个子部署都提供给其他人(Wildfly和Jboss现在是您的朋友了,您还可以检查Keycloak子系统源代码中的部署扫描器实现)。

老实说,我认为将每个SPI实现划分为不同的工件并没有带来真正的利润,到目前为止,您还没有创建您自己的自定义SPI。我也经历了这个结局,只有一个神器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59289074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档