We will not support running Keycloak server on anything but Wildfly or
JBoss EAP. There are a lot of advantages to this. The main one being,
it saves us a lot of work.
However, we do support securing Tomcat 6, 7, 8 Jetty 8.x, 9.x
applications through the corresponding client adapter.
On 7/27/2015 12:02 PM, Pablo Martin Gore wrote:
Hi Marko
Thanks for your quickly answer , it's no possible to deploy keycloak
today in a tomcat web server , really we have deployed our platform into
different tomcat 8 and it's a big effort this movement to Wildfly.
Do you will support other web servers to deploy keycloak in future like
tomcat or jetty?
2015-07-27 12:45 GMT-03:00 Marko Strukelj <mstrukel(a)redhat.com
<mailto:mstrukel@redhat.com>>:
Keycloak server is no longer packaged as a .war. You can read more
about it here:
http://blog.keycloak.org/2015/05/distribution-changes.html
That means you can not deploy it to just any java web container -
only latest Wildfly / EAP is supported for the server. At the moment
that is Wildfly 9.0.0.Final, and EAP 6.4.
If for some reason you really want your application to be deployed
in the same server instance as keycloak server, you'd have to deploy
your application to the app server that comes with keycloak server
rather than the other way around.
Easiest way to achieve that would be to use
keycloak-demo-1.3.1.Final.zip distribution which you can download
here:
http://sourceforge.net/projects/keycloak/files/1.3.1.Final
- marko
----- Original Message -----
> Hi
> I have a maven project that is in charge of create the tomcat distribution
> for keycloak.
> Until version 1.2.0-Beta1 we have used keycloak-server.war , but when I try
> to migrate to keycloak 1.3.1-Final , this dependency apparently does not
> exist any more.
> < artifactItem >
> < groupId > org.keycloak </ groupId >
> < artifactId > keycloak-server </ artifactId >
> < version > $1.3.1-Final </ version >
> < type > war </ type >
> < outputDirectory > ${outputDirectoryForWar} </ outputDirectory >
> </ artifactItem >
> Someone could help me with this issue ?
> where I could find the server war now or what is the new name for this
> dependency?
> Thanks and regards.
> Pablo Gore
> Here is my pom.xml
> < project xmlns= "
http://maven.apache.org/POM/4.0.0 " xmlns: xsi
= "
>http://www.w3.org/2001/XMLSchema-instance "
> xsi :schemaLocation= "http://maven.apache.org/POM/4.0.0
>
http://maven.apache.org/maven-v4_0_0.xsd " >
> < modelVersion > 4.0.0 </ modelVersion >
> < parent >
> < groupId > org.keycloak </ groupId >
> < artifactId > keycloak-parent </ artifactId >
> < version > 1.3.1-Final </ version >
>
>
> </ parent >
>
> < artifactId > keycloak-tomcat-dist </ artifactId >
> < packaging > pom </ packaging >
> < name > Tomcat 8 with Keycloack </ name >
> < version > ${project.parent.version}-1.0.4 </ version >
> < description />
> < properties >
> <!-- Versions -->
> < tomcat.version > 8.0.20 </ tomcat.version >
> < jax.version > 2.3.7.Final </ jax.version >
> < jackson.version > 1.9.9 </ jackson.version >
> < hibernate.version > 4.2.7.SP1 </ hibernate.version >
> <!-- Locations -->
> < outputDirectory > ${project.build.directory}/unpacked </
outputDirectory >
> < outputDirectoryConf >
> ${outputDirectory}/apache-tomcat-${tomcat.version}/conf </
> outputDirectoryConf >
> < outputDirectoryForWar >
> ${outputDirectory}/apache-tomcat-${tomcat.version}/webapps/keycloak
> </ outputDirectoryForWar >
> < outputDirectoryForLibs >
> ${outputDirectory}/apache-tomcat-${tomcat.version}/lib </
> outputDirectoryForLibs >
> < configFile >
>
${outputDirectoryForWar}/WEB-INF/classes/META-INF/keycloak-server.json
</
> configFile >
> </ properties >
> < dependencies />
> < build >
> < plugins >
> < plugin >
> < groupId > org.apache.maven.plugins </ groupId >
> < artifactId > maven-deploy-plugin </ artifactId >
> < configuration >
> < skip > true </ skip >
> </ configuration >
> </ plugin >
> < plugin >
> < groupId > org.apache.maven.plugins </ groupId >
> < artifactId > maven-dependency-plugin </ artifactId >
> < executions >
> <!-- Get Tomcat -->
> < execution >
> < id > unpack </ id >
> < phase > prepare-package </ phase >
> < goals >
> < goal > unpack </ goal >
> </ goals >
> < configuration >
> <!--useJvmChmod>false</useJvmChmod-->
> < artifactItems >
> < artifactItem >
> < groupId > org.apache.tomcat </ groupId >
> < artifactId > tomcat </ artifactId >
> < version > ${tomcat.version} </ version >
> < type > tar.gz </ type >
> < outputDirectory > ${outputDirectory} </ outputDirectory >
> </ artifactItem >
> </ artifactItems >
> </ configuration >
> </ execution >
> <!-- Get keycloak -->
> < execution >
> < id > get-keycloak </ id >
> < phase > prepare-package </ phase >
> < goals >
> < goal > unpack </ goal >
> </ goals >
> < configuration >
> < artifactItems >
> < artifactItem >
> < groupId > org.keycloak </ groupId >
> < artifactId > keycloak-server </ artifactId >
> < version > ${project.parent.version} </ version >
> < type > war </ type >
> < outputDirectory > ${outputDirectoryForWar} </ outputDirectory >
> </ artifactItem >
> </ artifactItems >
> </ configuration >
> </ execution >
> <!-- Get dependencies -->
> < execution >
> < id > mimic-jboss-6.2 </ id >
> < phase > prepare-package </ phase >
> < goals >
> < goal > copy </ goal >
> </ goals >
> < configuration >
> < artifactItems >
> < dependency >
> < groupId > org.apache.httpcomponents </ groupId >
> < artifactId > httpclient </ artifactId >
> < version > 4.2.6 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ dependency >
> < dependency >
> < groupId > org.apache.httpcomponents </ groupId >
> < artifactId > httpcore </ artifactId >
> < version > 4.2.5 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ dependency >
> < dependency >
> < groupId > commons-logging </ groupId >
> < artifactId > commons-logging </ artifactId >
> < version > 1.1.1 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ dependency >
> < dependency >
> < groupId > commons-io </ groupId >
> < artifactId > commons-io </ artifactId >
> < version > 2.1 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ dependency >
> <!-- Mimic JBoss 6.2 -->
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > resteasy-jaxrs </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > async-http-servlet-3.0 </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > jaxrs-api </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > resteasy-jaxb-provider </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > resteasy-jackson-provider </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > resteasy-multipart-provider </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> <!-- This needs Bouncycastle
> <artifactItem>
> <groupId>org.jboss.resteasy</groupId>
> <artifactId>resteasy-crypto</artifactId>
> <version>${jax.version}</version>
> <type>jar</type>
> <outputDirectory>${outputDirectoryForLibs}</outputDirectory>
> </artifactItem>
> -->
> < artifactItem >
> < groupId > org.jboss.resteasy </ groupId >
> < artifactId > tjws </ artifactId >
> < version > ${jax.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.scannotation </ groupId >
> < artifactId > scannotation </ artifactId >
> < version > 1.0.3 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.codehaus.jackson </ groupId >
> < artifactId > jackson-mapper-asl </ artifactId >
> < version > ${jackson.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.codehaus.jackson </ groupId >
> < artifactId > jackson-core-asl </ artifactId >
> < version > ${jackson.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.codehaus.jackson </ groupId >
> < artifactId > jackson-jaxrs </ artifactId >
> < version > ${jackson.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.codehaus.jackson </ groupId >
> < artifactId > jackson-xc </ artifactId >
> < version > ${jackson.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.infinispan </ groupId >
> < artifactId > infinispan-core </ artifactId >
> < version > 5.2.7.Final </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.hibernate </ groupId >
> < artifactId > hibernate-core </ artifactId >
> < version > ${hibernate.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.hibernate </ groupId >
> < artifactId > hibernate-entitymanager </ artifactId >
> < version > ${hibernate.version} </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.hibernate.javax.persistence </ groupId >
> < artifactId > hibernate-jpa-2.0-api </ artifactId >
> < version > 1.0.1.Final </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.logging </ groupId >
> < artifactId > jboss-logging </ artifactId >
> < version > 3.1.2.GA <
http://3.1.2.GA> </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.jboss.spec.javax.transaction </ groupId >
> < artifactId > jboss-transaction-api_1.1_spec </ artifactId >
> < version > 1.0.1.Final </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > dom4j </ groupId >
> < artifactId > dom4j </ artifactId >
> < version > 1.6.1 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.hibernate.common </ groupId >
> < artifactId > hibernate-commons-annotations </ artifactId >
> < version > 4.0.1.Final </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.javassist </ groupId >
> < artifactId > javassist </ artifactId >
> < version > 3.18.1-GA </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > antlr </ groupId >
> < artifactId > antlr </ artifactId >
> < version > 2.7.7 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > javax.mail </ groupId >
> < artifactId > mail </ artifactId >
> < version > 1.4.5 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > com.google.zxing </ groupId >
> < artifactId > core </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > com.google.zxing </ groupId >
> < artifactId > javase </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > com.icegreen </ groupId >
> < artifactId > greenmail </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > de.idyl </ groupId >
> < artifactId > winzipaes </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > xml-apis </ groupId >
> < artifactId > xml-apis </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.slf4j </ groupId >
> < artifactId > slf4j-api </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> < artifactItem >
> < groupId > org.slf4j </ groupId >
> < artifactId > slf4j-simple </ artifactId >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
> </ artifactItems >
> </ configuration >
> </ execution >
> <!-- Get PostgreSQL driver -->
> < execution >
> < id > get-postgresql-jdbc-driver </ id >
> < phase > prepare-package </ phase >
> < goals >
> < goal > copy </ goal >
> </ goals >
> < configuration >
> < artifactItems >
> mysql:mysql-connector-java
> < artifactItem >
> < groupId > mysql </ groupId >
> < artifactId > mysql-connector-java </ artifactId >
> < version > 5.1.34 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
>
> < artifactItem >
> < groupId > org.postgresql </ groupId >
> < artifactId > postgresql </ artifactId >
> < version > 9.4-1200-jdbc41 </ version >
> < type > jar </ type >
> < outputDirectory > ${outputDirectoryForLibs} </ outputDirectory >
> </ artifactItem >
>
> </ artifactItems >
> </ configuration >
> </ execution >
> </ executions >
> </ plugin >
> <!-- Setup data-source -->
> < plugin >
> < artifactId > maven-resources-plugin </ artifactId >
> < version > 2.7 </ version >
> < executions >
> < execution >
> < id > setup-data-source </ id >
> < phase > package </ phase >
> < goals >
> < goal > copy-resources </ goal >
> </ goals >
> < configuration >
> < outputDirectory > ${outputDirectoryConf} </ outputDirectory >
> < encoding > UTF-8 </ encoding >
> < resources >
> < resource >
> < directory > . </ directory >
> < includes >
> < include > context.xml </ include >
> </ includes >
> < filtering > false </ filtering >
> </ resource >
> </ resources >
> </ configuration >
> </ execution >
> </ executions >
> </ plugin >
> <!-- Fix keyclock-configuration -->
> < plugin >
> < groupId > com.google.code.maven-replacer-plugin </ groupId >
> < artifactId > replacer </ artifactId >
> < version > 1.5.3 </ version >
> < executions >
> < execution >
> < id > fix-data-source </ id >
> < phase > package </ phase >
> < goals >
> < goal > replace </ goal >
> </ goals >
> </ execution >
> </ executions >
> < configuration >
> < file > ${configFile} </ file >
> < replacements >
> <!-- fix-data-source -->
> < replacement >
> < token > java:jboss/datasources/KeycloakDS </ token >
> < value > java:/comp/env/jdbc/KeycloakDS </ value >
> </ replacement >
> <!-- Set Tomcat configuration-dir -->
> < replacement >
> < token > jboss.server.config.dir} </ token >
> < value > catalina.home}/conf </ value >
> </ replacement >
> </ replacements >
> </ configuration >
> </ plugin >
> <!-- Repackage filled-Tomcat into tag.gz -->
> < plugin >
> < artifactId > maven-assembly-plugin </ artifactId >
> < version > 2.4 </ version >
> < executions >
> < execution >
> < id > assemble </ id >
> < phase > package </ phase >
> < goals >
> < goal > single </ goal >
> </ goals >
> < configuration >
> < tarLongFileMode > gnu </ tarLongFileMode >
> < descriptors >
> < descriptor > assembly.xml </ descriptor >
> </ descriptors >
> < outputDirectory > target </ outputDirectory >
> < workDirectory > target/assembly/work </ workDirectory >
> < appendAssemblyId > false </ appendAssemblyId >
> </ configuration >
> </ execution >
> </ executions >
> </ plugin >
> </ plugins >
> </ build >
> </ project >
>
> _______________________________________________
> keycloak-user mailing list
> keycloak-user(a)lists.jboss.org <mailto:keycloak-user@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/keycloak-user
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user