[keycloak-dev] Deploying provider with dependencies

Dmitry Telegin mitya at cargosoft.ru
Wed Jan 18 16:20:10 EST 2017


I've finally solved this. There are two moments to pay attention to:

- maven-ear-plugin by default generates almost empty application.xml.
In order for subdeployment to be recognized, it must be mentioned in
application.xml as a module. Both <ejb> and <java> worked for me;
- in JBoss/WildFly, only top-level jboss-deployment-structure.xml files
are recognized. Thus, this file should be moved from a JAR to an EAR
and tweaked accordingly. This is discussed in detail here:
http://stackoverflow.com/questions/26859092/jboss-deployment-structure-
xml-does-not-loads-the-dependencies-in-my-ear-project

Again, it would be nice to have a complete working example to
demonstrate this approach. I think I could (one day) update my
BeerCloak example to cover this new deployment technique.

Dmitry

В Wed, 18/01/2017 в 23:10 +0300, Dmitry Telegin пишет:
> Stian,
> 
> I've tried to package my provider JAR into an EAR, but that didn't
> work
>  :(
> 
> The layout is the following:
> 
> foo-0.1-SNAPSHOT.ear
> +- foo-provider-0.1-SNAPSHOT.jar
> +- META-INF
>    +- application.xml
> 
> When I put the JAR into the deployments subdir, it is deployed
> successfully, initialization code is called etc. But when I drop the
> EAR in the same subdir, there is only a successful deployment
> message.
> The provider doesn't get initialized; seems like deployer doesn't
> recurse into EAR contents. Tried to place the JAR into the "lib"
> subdir
> inside EAR, this didn't work either. The EAR is generated by maven-
> ear-
> plugin with the standard settings.
> 
> Am I missing something? Sorry for bugging you, but unfortunately
> there
> is not much said in the docs about deploying providers from inside
> EARs. A working example would be helpful as well.
> 
> Dmitry
> 
> В Wed, 18/01/2017 в 12:34 +0100, Stian Thorgersen пишет:
> > You have two options deploy as a module which requires adding
> > modules
> > for all dependencies or using the new deploy as a JEE archive
> > approach, which also supports hot deployment. Check out the server
> > developer guide for more details.
> > 
> > On 18 January 2017 at 11:54, Dmitry Telegin <mitya at cargosoft.ru>
> > wrote:
> > > Hi,
> > > 
> > > It's easy to imagine a provider that would integrate a third
> > > party
> > > library which, together with transitive dependencies, might
> > > result
> > > in
> > > dozens of JARs. A real-world example: OpenID 2.0 login protocol
> > > implementation using openid4java, which in its turn pulls in
> > > another 10
> > > JARs.
> > > 
> > > What are the deployment options for configurations like that? Is
> > > it
> > > really necessary to install each and every dependency as a
> > > WildFly
> > > module? This could become a PITA if there are a lot of deps.
> > > Could
> > > it
> > > be a single, self-sufficient artifact just to be put into
> > > deployments
> > > subdir? If yes, what type of artifact it should be (EAR maybe)?
> > > 
> > > Thx,
> > > Dmitry
> > > _______________________________________________
> > > keycloak-dev mailing list
> > > keycloak-dev at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/keycloak-dev
> > > 
> > 
> > 
> 
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev


More information about the keycloak-dev mailing list