Merge pull request #20 from rzo1/dep-updates

Updates several 3rd party dependencies (Tomcat, Johnzon, etc)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..6737dab
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,44 @@
+# 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.
+
+name: Java CI
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    runs-on: ${{ matrix.os }}
+    continue-on-error: ${{ matrix.experimental }}
+    strategy:
+      matrix:
+        os: [ubuntu-latest]
+        java: [ 8, 11 ]
+        experimental: [false]
+
+    steps:
+    - uses: actions/checkout@v3
+    - uses: actions/cache@v3
+      with:
+        path: ~/.m2/repository
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          ${{ runner.os }}-maven-
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@v3
+      with:
+        distribution: adopt
+        java-version: ${{ matrix.java }}
+    - name: Build with Maven
+      run: mvn -V clean verify --no-transfer-progress
diff --git a/meecrowave-doc/src/main/jbake/content/community.adoc b/meecrowave-doc/src/main/jbake/content/community.adoc
index 9be9b49..b729554 100644
--- a/meecrowave-doc/src/main/jbake/content/community.adoc
+++ b/meecrowave-doc/src/main/jbake/content/community.adoc
@@ -45,7 +45,7 @@
 The github repo works fine for pull requests.
 Please use our official https://issues.apache.org/jira/projects/MEECROWAVE[Meecrowave Bug Tracker] for reporting bugs or enhancement requests.
 
-The cannonical repository hosted directly at the Apache Software Foundation intended to be used by committers is
+The canonical repository hosted directly at the Apache Software Foundation intended to be used by committers is
 
 [source]
 ----
diff --git a/meecrowave-doc/src/main/jbake/content/meecrowave-core/configuration.adoc b/meecrowave-doc/src/main/jbake/content/meecrowave-core/configuration.adoc
index 3269ae1..55ef8c1 100755
--- a/meecrowave-doc/src/main/jbake/content/meecrowave-core/configuration.adoc
+++ b/meecrowave-doc/src/main/jbake/content/meecrowave-core/configuration.adoc
@@ -97,12 +97,12 @@
 == Automatic configuration
 
 The `org.apache.meecrowave.Meecrowave$Builder` class also provides `loadFromProperties(Properties)`
-and `loadFrom(String)`. The last one uses the parameter to locate a propertiers file (file path or at classpath)
+and `loadFrom(String)`. The last one uses the parameter to locate a properties file (file path or at classpath)
 and delegate the processing to the first one.
 
-`loadFromProperties(Propertiers)` loads the configuraton from the properties.
+`loadFromProperties(Properties)` loads the configuration from the properties.
 
-The matching is alsmot 1-1 with previous table excepted for these entries:
+The matching is almost 1-1 with previous table excepted for these entries:
 
 - if `httpPort` is `-1` then `randomHttpPort` is called
 - `properties.x=y` will set the property (`properties` entry) `x` with the value `y`
@@ -120,7 +120,7 @@
 - `realm.x=y` will set `x` property to `y` - needs previous property to be set
 - `login=` will create a custom `org.apache.meecrowave.Meecrowave$LoginConfigBuilder`
 - `login.x=y` will customize previous instance with `x` property
-- `securityConstraint=` will create a custom `org.apache.meecrowave.Meecrowave$SecurityConstaintBuilder`
+- `securityConstraint=` will create a custom `org.apache.meecrowave.Meecrowave$SecurityConstraintBuilder`
 - `securityConstraint.x=y` will customize previous instance with `x` property
 - `configurationCustomizer=y` will create an instance of `y` to customize the configuration
 - `configurationCustomizer.x=y` will set `x` to `y` for the customizer
diff --git a/meecrowave-doc/src/main/jbake/content/meecrowave-jpa/index.adoc b/meecrowave-doc/src/main/jbake/content/meecrowave-jpa/index.adoc
index 77acb0f..023f805 100755
--- a/meecrowave-doc/src/main/jbake/content/meecrowave-jpa/index.adoc
+++ b/meecrowave-doc/src/main/jbake/content/meecrowave-jpa/index.adoc
@@ -34,7 +34,7 @@
 TIP: if your application uses a single persistence unit this is optional and
 a default one will be created if a single DataSource bean is available as Bean<?>.
 
-The datasource can be produces as you wish using your own configuration mecanism:
+The datasource can be produces as you wish using your own configuration mechanism:
 
 [source,java]
 ----
@@ -51,7 +51,7 @@
 }
 ----
 
-NOTE: it is recommanded to ensure the `DataSource` is normal-scoped to not get surprises in term of behavior.
+NOTE: it is recommended to ensure the `DataSource` is normal-scoped to not get surprises in term of behavior.
 
 Finally you can inject your entity manager using `@Unit`. Ensure to
 decorate with `@Jpa` a class/method before using the entity manager to activate
diff --git a/meecrowave-doc/src/main/jbake/content/meecrowave-maven/index.adoc b/meecrowave-doc/src/main/jbake/content/meecrowave-maven/index.adoc
index 19c6260..06937d9 100755
--- a/meecrowave-doc/src/main/jbake/content/meecrowave-maven/index.adoc
+++ b/meecrowave-doc/src/main/jbake/content/meecrowave-maven/index.adoc
@@ -54,7 +54,7 @@
 ├── lib
 │   └── *.jar
 ├── logs
-│   └── meecrowave.logls l
+│   └── meecrowave.log
 └── temp
 ----
 
@@ -64,7 +64,7 @@
 - server.xml
 - meecrowave.properties
 
-You can acess the root folder of the distribution reading the system property `meecrowave.base`.
+You can access the root folder of the distribution reading the system property `meecrowave.base`.
 
 `meecrowave.properties` supports all configuration options of the cli (just remove the `--`): http://openwebbeans.apache.org/meecrowave/meecrowave-core/cli.html.
 
diff --git a/meecrowave-junit/pom.xml b/meecrowave-junit/pom.xml
index 007b478..436c743 100644
--- a/meecrowave-junit/pom.xml
+++ b/meecrowave-junit/pom.xml
@@ -63,7 +63,7 @@
   </dependencies>
 
   <properties>
-    <junit5.minor.version>3.0</junit5.minor.version>
+    <junit5.minor.version>9.3</junit5.minor.version>
     <junit5.version>5.${junit5.minor.version}</junit5.version>
     <meecrowave.build.name>${project.groupId}.junit</meecrowave.build.name>
   </properties>
diff --git a/pom.xml b/pom.xml
index 98f7a39..cf1708a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,19 +51,19 @@
     <meecrowave.build.name>${project.groupId}.${project.artifactId}</meecrowave.build.name>
 
     <junit.version>4.13.2</junit.version>
-    <tomcat.version>9.0.70</tomcat.version>
+    <tomcat.version>9.0.76</tomcat.version>
     <openwebbeans.version>2.0.27</openwebbeans.version>
     <cxf.version>3.5.5</cxf.version>
-    <johnzon.version>1.2.19</johnzon.version>
-    <log4j2.version>2.19.0</log4j2.version>
-    <deltaspike.version>1.9.5</deltaspike.version>
+    <johnzon.version>1.2.20</johnzon.version>
+    <log4j2.version>2.20.0</log4j2.version>
+    <deltaspike.version>1.9.6</deltaspike.version>
     <jaxb.version>2.2.11</jaxb.version>
-    <openjpa.version>3.2.0</openjpa.version>
+    <openjpa.version>3.2.2</openjpa.version>
     <jpa-spec.version>1.1</jpa-spec.version>
-    <h2.version>1.4.200</h2.version>
-    <dbcp2.version>2.8.0</dbcp2.version>
-    <commons-cli.version>1.4</commons-cli.version>
-    <xbean.version>4.20</xbean.version>
+    <h2.version>2.2.220</h2.version>
+    <dbcp2.version>2.9.0</dbcp2.version>
+    <commons-cli.version>1.5.0</commons-cli.version>
+    <xbean.version>4.23</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>