[MEECROWAVE-269] oauth2-minimal pom
diff --git a/meecrowave-oauth2-minimal/pom.xml b/meecrowave-oauth2-minimal/pom.xml
new file mode 100644
index 0000000..d1222b8
--- /dev/null
+++ b/meecrowave-oauth2-minimal/pom.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<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/xsd/maven-4.0.0.xsd">
+  <parent>
+    <artifactId>meecrowave</artifactId>
+    <groupId>org.apache.meecrowave</groupId>
+    <version>1.2.10-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>meecrowave-oauth2-minimal</artifactId>
+  <name>Meecrowave :: OAuth2</name>
+
+  <properties>
+    <meecrowave.build.name>${project.groupId}.oauth2</meecrowave.build.name>
+  </properties>
+
+  <profiles>
+    <profile>
+      <id>dev</id> <!-- idea does not see that it is a shade so workaround it with an IDE profile -->
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.meecrowave</groupId>
+          <artifactId>meecrowave-specs-api</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.meecrowave</groupId>
+      <artifactId>meecrowave-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-security-oauth2</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-jta_1.1_spec</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jakarta.xml.ws</groupId>
+          <artifactId>jakarta.xml.ws-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jakarta.xml.soap</groupId>
+          <artifactId>jakarta.xml.soap-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jakarta.annotation</groupId>
+          <artifactId>jakarta.annotation-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jakarta.jws</groupId>
+          <artifactId>jakarta.jws-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.sun.activation</groupId>
+          <artifactId>jakarta.activation</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.spec.javax.rmi</groupId>
+          <artifactId>jboss-rmi-api_1.0_spec</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.sun.xml.messaging.saaj</groupId>
+          <artifactId>saaj-impl</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-dbcp2</artifactId>
+      <version>${dbcp2.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openjpa</groupId>
+      <artifactId>openjpa</artifactId>
+      <version>${openjpa.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jcache_1.0_spec</artifactId>
+      <version>${geronimo-jcache_1.0_spec.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jpa_2.1_spec</artifactId>
+      <version>${jpa-spec.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>${commons-cli.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo</groupId>
+      <artifactId>geronimo-jcache-simple</artifactId>
+      <version>${geronimo-jcache-simple.version}</version>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-jcl</artifactId>
+      <version>${log4j2.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junit.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.meecrowave</groupId>
+      <artifactId>meecrowave-junit</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <version>${h2.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcprov-jdk15</artifactId>
+      <version>1.46</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo</groupId>
+      <artifactId>geronimo-jwt-auth</artifactId>
+      <version>1.0.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <fork>true</fork>
+          <compilerArgs>
+            <arg>-XDignore.symbol.file</arg>
+          </compilerArgs>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/JCacheConfigurer.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/JCacheConfigurer.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/JCacheConfigurer.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/JCacheConfigurer.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java
similarity index 94%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java
index 8a0e050..c3c8591 100644
--- a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java
+++ b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/JPAAdapter.java
@@ -18,7 +18,6 @@
  */
 package org.apache.meecrowave.oauth2.configuration;
 
-import org.apache.commons.dbcp2.BasicDataSource;
 import org.apache.cxf.rs.security.oauth2.common.Client;
 import org.apache.cxf.rs.security.oauth2.common.OAuthPermission;
 import org.apache.cxf.rs.security.oauth2.common.UserSubject;
@@ -62,7 +61,8 @@
             put("javax.persistence.jdbc.password", configuration.getJpdaDatabasePassword());
             */
             // pooling support
-            put("openjpa.ConnectionDriverName", BasicDataSource.class.getName());
+            put("openjpa.ConnectionDriverName", System.getProperty(
+                    "meecrowave.oauth2.datasourcetype", "org.apache.commons.dbcp2.BasicDataSource"));
             put("openjpa.ConnectionProperties",
                     "DriverClassName=" + configuration.getJpaDriver() + ',' +
                             "Url=" + configuration.getJpaDatabaseUrl() + ',' +
@@ -75,7 +75,7 @@
                             "TestOnReturn=" + configuration.isJpaTestOnReturn() + ',' +
                             "TestWhileIdle=" + (configuration.getJpaValidationQuery() != null && !configuration.getJpaValidationQuery().isEmpty()) + ',' +
                             ofNullable(configuration.getJpaValidationQuery()).map(v -> "ValidationQuery=" + v + ',').orElse("") +
-                            ofNullable(configuration.getJpaValidationInterval()).map(v -> "MinEvictableIdleTimeMillis=" + v).orElse(""));
+                            ofNullable(configuration.getJpaValidationInterval()).filter(it -> it > 0).map(v -> "MinEvictableIdleTimeMillis=" + v).orElse(""));
 
             ofNullable(configuration.getJpaProperties())
                     .map(p -> new Properties() {{
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Configurer.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Configurer.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Configurer.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Configurer.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Options.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Options.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Options.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/configuration/OAuth2Options.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/data/RefreshTokenEnabledProvider.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/data/RefreshTokenEnabledProvider.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/data/RefreshTokenEnabledProvider.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/data/RefreshTokenEnabledProvider.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/provider/JCacheCodeDataProvider.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/provider/JCacheCodeDataProvider.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/provider/JCacheCodeDataProvider.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/provider/JCacheCodeDataProvider.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2Application.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2Application.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2Application.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2Application.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java
diff --git a/meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java
similarity index 100%
rename from meecrowave-oauth2/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java
rename to meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java
diff --git a/meecrowave-oauth2/src/main/resources/META-INF/LICENSE b/meecrowave-oauth2-minimal/src/main/resources/META-INF/LICENSE
similarity index 100%
rename from meecrowave-oauth2/src/main/resources/META-INF/LICENSE
rename to meecrowave-oauth2-minimal/src/main/resources/META-INF/LICENSE
diff --git a/meecrowave-oauth2/src/main/resources/META-INF/NOTICE b/meecrowave-oauth2-minimal/src/main/resources/META-INF/NOTICE
similarity index 100%
rename from meecrowave-oauth2/src/main/resources/META-INF/NOTICE
rename to meecrowave-oauth2-minimal/src/main/resources/META-INF/NOTICE
diff --git a/meecrowave-oauth2/src/main/resources/META-INF/beans.xml b/meecrowave-oauth2-minimal/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from meecrowave-oauth2/src/main/resources/META-INF/beans.xml
rename to meecrowave-oauth2-minimal/src/main/resources/META-INF/beans.xml
diff --git a/meecrowave-oauth2/src/main/resources/META-INF/services/org.apache.meecrowave.runner.Cli$Options b/meecrowave-oauth2-minimal/src/main/resources/META-INF/services/org.apache.meecrowave.runner.Cli$Options
similarity index 100%
rename from meecrowave-oauth2/src/main/resources/META-INF/services/org.apache.meecrowave.runner.Cli$Options
rename to meecrowave-oauth2-minimal/src/main/resources/META-INF/services/org.apache.meecrowave.runner.Cli$Options
diff --git a/meecrowave-oauth2/src/main/resources/default-oauth2.jcs b/meecrowave-oauth2-minimal/src/main/resources/default-oauth2.jcs
similarity index 100%
rename from meecrowave-oauth2/src/main/resources/default-oauth2.jcs
rename to meecrowave-oauth2-minimal/src/main/resources/default-oauth2.jcs
diff --git a/meecrowave-oauth2/src/test/java/org/apache/meecrowave/oauth2/Keystores.java b/meecrowave-oauth2-minimal/src/test/java/org/apache/meecrowave/oauth2/Keystores.java
similarity index 100%
rename from meecrowave-oauth2/src/test/java/org/apache/meecrowave/oauth2/Keystores.java
rename to meecrowave-oauth2-minimal/src/test/java/org/apache/meecrowave/oauth2/Keystores.java
diff --git a/meecrowave-oauth2/src/test/java/org/apache/meecrowave/oauth2/OAuth2Test.java b/meecrowave-oauth2-minimal/src/test/java/org/apache/meecrowave/oauth2/OAuth2Test.java
similarity index 100%
rename from meecrowave-oauth2/src/test/java/org/apache/meecrowave/oauth2/OAuth2Test.java
rename to meecrowave-oauth2-minimal/src/test/java/org/apache/meecrowave/oauth2/OAuth2Test.java
diff --git a/meecrowave-oauth2/pom.xml b/meecrowave-oauth2/pom.xml
index 193ea6e..7af580b 100644
--- a/meecrowave-oauth2/pom.xml
+++ b/meecrowave-oauth2/pom.xml
@@ -17,7 +17,8 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<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/xsd/maven-4.0.0.xsd">
+<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/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>meecrowave</artifactId>
     <groupId>org.apache.meecrowave</groupId>
@@ -47,67 +48,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.meecrowave</groupId>
-      <artifactId>meecrowave-core</artifactId>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>meecrowave-oauth2-minimal</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.cxf</groupId>
-      <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-      <version>${cxf.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.geronimo.specs</groupId>
-          <artifactId>geronimo-jta_1.1_spec</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jakarta.xml.ws</groupId>
-          <artifactId>jakarta.xml.ws-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jakarta.xml.soap</groupId>
-          <artifactId>jakarta.xml.soap-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jakarta.annotation</groupId>
-          <artifactId>jakarta.annotation-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jakarta.jws</groupId>
-          <artifactId>jakarta.jws-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.sun.activation</groupId>
-          <artifactId>jakarta.activation</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.spec.javax.rmi</groupId>
-          <artifactId>jboss-rmi-api_1.0_spec</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.sun.xml.messaging.saaj</groupId>
-          <artifactId>saaj-impl</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jcache_1.0_spec</artifactId>
-      <version>1.0-alpha-1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jpa_2.1_spec</artifactId>
-      <version>${jpa-spec.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-cli</groupId>
-      <artifactId>commons-cli</artifactId>
-      <version>${commons-cli.version}</version>
-    </dependency>
-
-    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-dbcp2</artifactId>
       <version>${dbcp2.version}</version>
@@ -117,47 +62,25 @@
       <artifactId>openjpa</artifactId>
       <version>${openjpa.version}</version>
     </dependency>
-
     <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-jcs-jcache</artifactId>
-      <version>2.2.1</version>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jcache_1.0_spec</artifactId>
+      <version>${geronimo-jcache_1.0_spec.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-jcl</artifactId>
-      <version>${log4j2.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
-      <scope>test</scope>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jpa_2.1_spec</artifactId>
+      <version>${jpa-spec.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.meecrowave</groupId>
-      <artifactId>meecrowave-junit</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.h2database</groupId>
-      <artifactId>h2</artifactId>
-      <version>${h2.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-      <version>1.46</version>
-      <scope>test</scope>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>${commons-cli.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo</groupId>
-      <artifactId>geronimo-jwt-auth</artifactId>
-      <version>1.0.1</version>
-      <scope>test</scope>
+      <artifactId>geronimo-jcache-simple</artifactId>
+      <version>${geronimo-jcache-simple.version}</version>
     </dependency>
   </dependencies>
 
@@ -165,17 +88,6 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.5.1</version>
-        <configuration>
-          <fork>true</fork>
-          <compilerArgs>
-            <arg>-XDignore.symbol.file</arg>
-          </compilerArgs>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
         <version>3.2.4</version>
         <executions>
@@ -188,7 +100,8 @@
             <configuration>
               <shadedClassifierName>bundle</shadedClassifierName>
               <shadedArtifactAttached>true</shadedArtifactAttached>
-              <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle.xml</dependencyReducedPomLocation>
+              <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle.xml
+              </dependencyReducedPomLocation>
               <transformers>
                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                   <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
@@ -199,14 +112,17 @@
                 <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                   <resource>log4j2.component.properties</resource>
                 </transformer>
-                <transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer" />
-                <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+                <transformer
+                    implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer"/>
+                <transformer
+                    implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer"/>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
               </transformers>
               <filters>
                 <filter>
                   <artifact>*:*</artifact>
                   <excludes>
+                    <exclude>module-info.class</exclude>
                     <exclude>META-INF/*.SF</exclude>
                     <exclude>META-INF/*.DSA</exclude>
                     <exclude>META-INF/*.RSA</exclude>
diff --git a/pom.xml b/pom.xml
index 28824a0..1a6263c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,8 @@
     <dbcp2.version>2.7.0</dbcp2.version>
     <commons-cli.version>1.4</commons-cli.version>
     <xbean.version>4.18</xbean.version>
+    <geronimo-jcache-simple.version>1.0.5</geronimo-jcache-simple.version>
+    <geronimo-jcache_1.0_spec.version>1.0-alpha-1</geronimo-jcache_1.0_spec.version>
 
     <java11.jaxb.version>2.3.0</java11.jaxb.version>
   </properties>
@@ -80,6 +82,7 @@
     <module>meecrowave-doc</module>
     <module>meecrowave-jta</module>
     <module>integration-tests</module>
+    <module>meecrowave-oauth2-minimal</module>
     <module>meecrowave-oauth2</module>
     <module>meecrowave-letsencrypt</module>
     <module>meecrowave-proxy</module>
@@ -140,14 +143,13 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.7.0</version>
+        <version>3.8.1</version>
         <configuration>
           <source>1.8</source>
           <target>1.8</target>
         </configuration>
       </plugin>
 
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>