You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2020/06/15 13:27:57 UTC

[activemq-artemis] 01/08: ARTEMIS-2109: Updating the build to be able to execute it on Java 11 and Java 8.

This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit efe0f468de2ffa0b354974d20df2087557b7cf7f
Author: Emmanuel Hugonnet <eh...@redhat.com>
AuthorDate: Wed Apr 29 18:14:47 2020 +0200

    ARTEMIS-2109: Updating the build to be able to execute it on Java 11 and Java 8.
---
 artemis-boot/pom.xml                               |   4 +
 artemis-cdi-client/pom.xml                         |   4 +
 artemis-cli/pom.xml                                |   4 +
 .../artemis/cli/commands/check/QueueCheck.java     |   2 +-
 artemis-commons/pom.xml                            |   4 +
 .../artemis/utils/collections/LongHashSetTest.java |   1 +
 artemis-core-client-all/pom.xml                    |   6 +-
 artemis-core-client/pom.xml                        |   4 +
 .../apache/activemq/artemis/api/core/Message.java  |   1 -
 .../artemis/api/core/RefCountMessageListener.java  |   2 +-
 .../artemis/api/core/client/ClientSession.java     |   3 +-
 .../api/core/management/ActiveMQServerControl.java |   2 +-
 .../api/core/management/AddressControl.java        |   2 +-
 .../spi/core/protocol/RemotingConnection.java      |   2 +-
 artemis-dto/pom.xml                                |  11 +-
 artemis-features/pom.xml                           | 226 ++++++++++-----------
 artemis-hawtio/activemq-branding/pom.xml           |   4 +
 artemis-hawtio/artemis-plugin/pom.xml              |   4 +
 artemis-hawtio/pom.xml                             |   3 -
 artemis-jdbc-store/pom.xml                         |   4 +
 artemis-jms-client-all/pom.xml                     |   2 +-
 artemis-jms-client/pom.xml                         |   4 +
 .../jms/client/DefaultConnectionProperties.java    |   3 +-
 artemis-jms-server/pom.xml                         |   4 +
 artemis-journal/pom.xml                            |   6 +
 artemis-junit/pom.xml                              |   4 +
 artemis-maven-plugin/pom.xml                       |   6 +-
 artemis-protocols/artemis-amqp-protocol/pom.xml    |   4 +
 artemis-protocols/artemis-hornetq-protocol/pom.xml |   4 +
 .../artemis-hqclient-protocol/pom.xml              |   5 +-
 artemis-protocols/artemis-mqtt-protocol/pom.xml    |  11 +
 .../artemis-openwire-protocol/pom.xml              |   5 +-
 artemis-protocols/artemis-stomp-protocol/pom.xml   |   4 +
 artemis-protocols/pom.xml                          |   1 -
 artemis-ra/pom.xml                                 |   4 +
 artemis-rest/pom.xml                               |   4 +
 artemis-selector/pom.xml                           |  38 +++-
 .../activemq/artemis/selector/impl/LRUCache.java   |   6 +-
 artemis-server-osgi/pom.xml                        |   5 +-
 artemis-server/pom.xml                             |   4 +
 .../protocol/AbstractProtocolManagerFactory.java   |   2 +-
 artemis-service-extensions/pom.xml                 |   4 +
 artemis-tools/pom.xml                              |   4 +
 artemis-web/pom.xml                                |   6 +
 artemis-website/pom.xml                            |   2 +-
 etc/checkstyle-suppressions.xml                    |   3 +-
 integration/activemq-spring-integration/pom.xml    |   4 +
 pom.xml                                            |  92 +++++----
 tests/artemis-test-support/pom.xml                 |   4 +
 tests/compatibility-tests/pom.xml                  |  37 ++--
 .../tests/compatibility/base/ClasspathBase.java    |  21 +-
 tests/integration-tests/pom.xml                    |   4 +
 .../integration/openwire/amq/JMSConsumer9Test.java |   3 +
 tests/jms-tests/pom.xml                            |   4 +
 .../artemis/jms/tests/TransactedSessionTest.java   |   3 +
 .../tests/message/BodyIsAssignableFromTest.java    |   3 +-
 tests/joram-tests/pom.xml                          |   4 +
 tests/karaf-client-integration-tests/pom.xml       |   4 +
 tests/performance-tests/pom.xml                    |   4 +
 tests/smoke-tests/pom.xml                          |   4 +
 tests/soak-tests/pom.xml                           |   4 +
 tests/stress-tests/pom.xml                         |   4 +
 tests/timing-tests/pom.xml                         |   4 +
 tests/unit-tests/pom.xml                           |   4 +
 64 files changed, 435 insertions(+), 210 deletions(-)

diff --git a/artemis-boot/pom.xml b/artemis-boot/pom.xml
index 1803632..7b6655b 100644
--- a/artemis-boot/pom.xml
+++ b/artemis-boot/pom.xml
@@ -36,6 +36,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <scope>test</scope>
diff --git a/artemis-cdi-client/pom.xml b/artemis-cdi-client/pom.xml
index b79c691..7720ba7 100644
--- a/artemis-cdi-client/pom.xml
+++ b/artemis-cdi-client/pom.xml
@@ -49,6 +49,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-cli/pom.xml b/artemis-cli/pom.xml
index c95ee0d..c0f6353 100644
--- a/artemis-cli/pom.xml
+++ b/artemis-cli/pom.xml
@@ -109,6 +109,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
index 45ddc3e..5bd4fd9 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
@@ -101,7 +101,7 @@ public class QueueCheck extends CheckAbstract {
 
       if (browse != null) {
          if (browse == -1) {
-            checkTasks.add(new CheckTask(String.format("a consumer can browse the queue",
+            checkTasks.add(new CheckTask(String.format("a consumer can browse the queue %s",
                                                        getName()), this::checkQueueBrowse));
          } else if (browse > 0) {
             checkTasks.add(new CheckTask(String.format("a consumer can browse %d messages from the queue %s",
diff --git a/artemis-commons/pom.xml b/artemis-commons/pom.xml
index 7f5408f..cbf6952 100644
--- a/artemis-commons/pom.xml
+++ b/artemis-commons/pom.xml
@@ -51,6 +51,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
           <groupId>org.wildfly.common</groupId>
           <artifactId>wildfly-common</artifactId>
          <scope>provided</scope>
diff --git a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/collections/LongHashSetTest.java b/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/collections/LongHashSetTest.java
index 09d18d0..e322ffa 100644
--- a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/collections/LongHashSetTest.java
+++ b/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/collections/LongHashSetTest.java
@@ -247,6 +247,7 @@ public class LongHashSetTest {
       Assert.assertEquals(1, testSet.size());
    }
 
+   @SuppressWarnings("CollectionToArraySafeParameter")
    @Test(expected = ArrayStoreException.class)
    public void toArrayThrowsArrayStoreExceptionForWrongType() {
       testSet.toArray(new String[1]);
diff --git a/artemis-core-client-all/pom.xml b/artemis-core-client-all/pom.xml
index 9ddde60..2428f8c 100644
--- a/artemis-core-client-all/pom.xml
+++ b/artemis-core-client-all/pom.xml
@@ -44,7 +44,7 @@
          <plugin>
        <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-shade-plugin</artifactId>
-            <version>3.2.0</version>
+            <version>3.2.3</version>
             <executions>
                <execution>
                   <phase>package</phase>
@@ -97,8 +97,8 @@
                      </transformers>
                      <relocations>
                         <relocation>
-                           <pattern>org.apache.activemq</pattern>
-                           <shadedPattern>org.apache.activemq</shadedPattern>
+                            <pattern>org.apache.activemq</pattern>
+                            <shadedPattern>org.apache.activemq</shadedPattern>
                         </relocation>
                         <relocation>
                            <pattern>org.apache.geronimo</pattern>
diff --git a/artemis-core-client/pom.xml b/artemis-core-client/pom.xml
index 8af9d3d..3048279 100644
--- a/artemis-core-client/pom.xml
+++ b/artemis-core-client/pom.xml
@@ -57,6 +57,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
           <groupId>org.wildfly.common</groupId>
           <artifactId>wildfly-common</artifactId>
          <scope>provided</scope>
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/Message.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/Message.java
index fdb5188..f8053c9 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/Message.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/Message.java
@@ -676,7 +676,6 @@ public interface Message {
    /**
     * @see #usageUp()
     * @return
-    * @throws Exception
     */
    int usageDown();
 
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/RefCountMessageListener.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/RefCountMessageListener.java
index 91fa7f8..17168bb 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/RefCountMessageListener.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/RefCountMessageListener.java
@@ -17,7 +17,7 @@
 
 package org.apache.activemq.artemis.api.core;
 
-/** If {@link Message#getContext()} != null and is implementing this interface.
+/**
  *  These methods will be called during refCount operations */
 public interface RefCountMessageListener {
 
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java
index 965a4e7..5db79aa 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java
@@ -310,8 +310,7 @@ public interface ClientSession extends XAResource, AutoCloseable {
     * </ul><p>
     *
     * @param queueConfiguration the configuration to use when creating the queue
-    * @return the {@code Queue} instance that was created
-    * @throws Exception
+    * @throws ActiveMQException
     */
    void createQueue(QueueConfiguration queueConfiguration) throws ActiveMQException;
 
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
index b4e6c3a..643fb53 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
@@ -1763,7 +1763,7 @@ public interface ActiveMQServerControl {
     * List the information about a user or all users if no username is supplied (only applicable when using the JAAS PropertiesLoginModule).
     *
     * @param username
-    * @return JSON array of user & role information
+    * @return JSON array of user and role information
     * @throws Exception
     */
    @Operation(desc = "list info about a user or all users if no username is supplied (only applicable when using the JAAS PropertiesLoginModule)", impact = MBeanOperationInfo.ACTION)
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
index 908fb20..23817ed 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
@@ -84,7 +84,7 @@ public interface AddressControl {
    String[] getQueueNames() throws Exception;
 
    /**
-    * Returns the names of both the local & remote queue(s) bound to this address.
+    * Returns the names of both the local and remote queue(s) bound to this address.
     */
    @Attribute(desc = "names of both the local & remote queue(s) bound to this address")
    String[] getAllQueueNames() throws Exception;
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
index 89452f6..f9f4fa5 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
@@ -240,7 +240,7 @@ public interface RemotingConnection extends BufferHandler {
 
    /**
     * Sets the client ID associated with this connection
-    * @return
+     * @param cID
     */
    void setClientID(String cID);
 
diff --git a/artemis-dto/pom.xml b/artemis-dto/pom.xml
index e40bafb..7646375 100644
--- a/artemis-dto/pom.xml
+++ b/artemis-dto/pom.xml
@@ -36,6 +36,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-commons</artifactId>
          <version>${project.version}</version>
@@ -87,7 +91,7 @@
       <plugins>
          <plugin>
             <artifactId>maven-antrun-plugin</artifactId>
-            <version>1.7</version>
+            <version>1.8</version>
             <executions>
                <execution>
                   <phase>generate-resources</phase>
@@ -130,6 +134,11 @@
                   <artifactId>jaxb-jxc</artifactId>
                   <version>${version.jaxb}</version>
                </dependency>
+               <dependency>
+                   <groupId>javax.activation</groupId>
+                   <artifactId>activation</artifactId>
+                   <version>${version.activation}</version>
+               </dependency>
             </dependencies>
          </plugin>
       </plugins>
diff --git a/artemis-features/pom.xml b/artemis-features/pom.xml
index 6f4c3bf..e38719e 100644
--- a/artemis-features/pom.xml
+++ b/artemis-features/pom.xml
@@ -1,19 +1,19 @@
 <!--
-  ~ 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.
-  -->
+~ 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">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
@@ -25,104 +25,104 @@
 	<packaging>pom</packaging>
 	<name>ActiveMQ Artemis Features</name>
 
-	<properties>
-		<karaf.version>4.1.1</karaf.version>
-	</properties>
+    <properties>
+        <karaf.version>4.2.8</karaf.version>
+    </properties>
 
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.karaf.features</groupId>
-         <artifactId>framework</artifactId>
-         <version>${karaf.version}</version>
-         <type>kar</type>
-         <scope>provided</scope>
-      </dependency>
-   </dependencies>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>framework</artifactId>
+            <version>${karaf.version}</version>
+            <type>kar</type>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 
-	<build>
-		<resources>
-			<resource>
-				<directory>src/main/resources</directory>
-				<filtering>true</filtering>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<configuration>
-					<skip>true</skip>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-resources-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>filter</id>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>resources</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.karaf.tooling</groupId>
-				<artifactId>karaf-maven-plugin</artifactId>
-				<version>${karaf.version}</version>
-				<executions>
-					<execution>
-						<id>verify</id>
-						<phase>install</phase>
-						<goals>
-							<goal>verify</goal>
-						</goals>
-						<configuration>
-							<descriptors>
-								<descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
-								<descriptor>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</descriptor>
-								<descriptor>file:${project.build.directory}/classes/features.xml</descriptor>
-							</descriptors>
-							<distribution>org.apache.karaf.features:framework</distribution>
-							<javase>1.8</javase>
-							<framework>
-								<feature>framework</feature>
-							</framework>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-artifacts</id>
-						<phase>package</phase>
-						<goals>
-							<goal>attach-artifact</goal>
-						</goals>
-						<configuration>
-							<artifacts>
-								<artifact>
-									<file>target/classes/features.xml</file>
-									<type>xml</type>
-									<classifier>features</classifier>
-								</artifact>
-								<artifact>
-									<file>target/classes/artemis.xml</file>
-									<classifier>artemis</classifier>
-									<type>xml</type>
-								</artifact>
-								<artifact>
-									<file>target/classes/org.apache.activemq.artemis.cfg</file>
-									<type>cfg</type>
-								</artifact>
-							</artifacts>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <version>${karaf.version}</version>
+                <executions>
+                    <execution>
+                        <id>verify</id>
+                        <phase>install</phase>
+                        <goals>
+                            <goal>verify</goal>
+                        </goals>
+                        <configuration>
+                            <descriptors>
+                                <descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
+                                <descriptor>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</descriptor>
+                                <descriptor>file:${project.build.directory}/classes/features.xml</descriptor>
+                            </descriptors>
+                            <distribution>org.apache.karaf.features:framework</distribution>
+                            <javase>11</javase>
+                            <framework>
+                                <feature>framework</feature>
+                            </framework>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>target/classes/features.xml</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                                <artifact>
+                                    <file>target/classes/artemis.xml</file>
+                                    <classifier>artemis</classifier>
+                                    <type>xml</type>
+                                </artifact>
+                                <artifact>
+                                    <file>target/classes/org.apache.activemq.artemis.cfg</file>
+                                    <type>cfg</type>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/artemis-hawtio/activemq-branding/pom.xml b/artemis-hawtio/activemq-branding/pom.xml
index b20fa63..7c0e304 100644
--- a/artemis-hawtio/activemq-branding/pom.xml
+++ b/artemis-hawtio/activemq-branding/pom.xml
@@ -92,6 +92,10 @@
             <artifactId>slf4j-log4j12</artifactId>
             <scope>provided</scope>
         </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
 
     </dependencies>
 
diff --git a/artemis-hawtio/artemis-plugin/pom.xml b/artemis-hawtio/artemis-plugin/pom.xml
index 5430b4a..79a606c 100644
--- a/artemis-hawtio/artemis-plugin/pom.xml
+++ b/artemis-hawtio/artemis-plugin/pom.xml
@@ -97,6 +97,10 @@
       <artifactId>log4j</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+        <groupId>com.google.errorprone</groupId>
+        <artifactId>error_prone_core</artifactId>
+    </dependency>
 
   </dependencies>
 
diff --git a/artemis-hawtio/pom.xml b/artemis-hawtio/pom.xml
index f386561..2b78380 100644
--- a/artemis-hawtio/pom.xml
+++ b/artemis-hawtio/pom.xml
@@ -35,9 +35,6 @@
 
         <activemq.basedir>${project.basedir}/..</activemq.basedir>
 
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-        
         <hawtio.version>1.5.12</hawtio.version>
         <jline.version>3.2.0</jline.version>
         <junit-version>4.11</junit-version>
diff --git a/artemis-jdbc-store/pom.xml b/artemis-jdbc-store/pom.xml
index edc70c0..622a477 100644
--- a/artemis-jdbc-store/pom.xml
+++ b/artemis-jdbc-store/pom.xml
@@ -41,6 +41,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-jms-client-all/pom.xml b/artemis-jms-client-all/pom.xml
index 24e6c71..e55607d 100644
--- a/artemis-jms-client-all/pom.xml
+++ b/artemis-jms-client-all/pom.xml
@@ -44,7 +44,7 @@
          <plugin>
        <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-shade-plugin</artifactId>
-            <version>3.2.0</version>
+            <version>3.2.3</version>
             <executions>
                <execution>
                   <phase>package</phase>
diff --git a/artemis-jms-client/pom.xml b/artemis-jms-client/pom.xml
index 378637b..c844950 100644
--- a/artemis-jms-client/pom.xml
+++ b/artemis-jms-client/pom.xml
@@ -39,6 +39,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-core-client</artifactId>
          <version>${project.version}</version>
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/DefaultConnectionProperties.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/DefaultConnectionProperties.java
index aba1c8b..6a6ac27 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/DefaultConnectionProperties.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/DefaultConnectionProperties.java
@@ -23,7 +23,8 @@ import java.security.PrivilegedAction;
 /**
  * <p>This class will provide default properties for constructors</p>
  *
- * <table border='1' summary=''>
+ * <table border='1'>
+ * <caption>Default properties</caption>
  * <tr> <td>Name</td> <td>Default Value</td></tr>
  * <tr> <td>AMQ_HOST or org.apache.activemq.AMQ_HOST</td> <td>localhost</td></tr>
  * <tr><td>AMQ_PORT or org.apache.activemq.AMQ_PORT</td> <td>61616</td></tr>
diff --git a/artemis-jms-server/pom.xml b/artemis-jms-server/pom.xml
index b7785c5..82e54c4 100644
--- a/artemis-jms-server/pom.xml
+++ b/artemis-jms-server/pom.xml
@@ -45,6 +45,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-journal/pom.xml b/artemis-journal/pom.xml
index d799d90..16ff724 100644
--- a/artemis-journal/pom.xml
+++ b/artemis-journal/pom.xml
@@ -44,6 +44,12 @@
          <scope>provided</scope>
          <optional>true</optional>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+          <scope>provided</scope>
+          <optional>true</optional>
+      </dependency>
 
       <!--
           JBoss Logging
diff --git a/artemis-junit/pom.xml b/artemis-junit/pom.xml
index 3e8bbfe..ea26169 100644
--- a/artemis-junit/pom.xml
+++ b/artemis-junit/pom.xml
@@ -38,6 +38,10 @@
          <artifactId>junit</artifactId>
          <scope>provided</scope>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
       <!--
       -->
       <dependency>
diff --git a/artemis-maven-plugin/pom.xml b/artemis-maven-plugin/pom.xml
index 01b8da2..f99d166 100644
--- a/artemis-maven-plugin/pom.xml
+++ b/artemis-maven-plugin/pom.xml
@@ -82,6 +82,10 @@
          <version>3.4</version>
          <scope>provided</scope>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
    <build>
@@ -90,7 +94,7 @@
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
-               <version>3.5.2</version>
+               <version>3.6.0</version>
                <executions>
                   <execution>
                      <id>default-descriptor</id>
diff --git a/artemis-protocols/artemis-amqp-protocol/pom.xml b/artemis-protocols/artemis-amqp-protocol/pom.xml
index c321b3e..1143fc9 100644
--- a/artemis-protocols/artemis-amqp-protocol/pom.xml
+++ b/artemis-protocols/artemis-amqp-protocol/pom.xml
@@ -60,6 +60,10 @@
          <scope>provided</scope>
          <optional>true</optional>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
 
       <!--
           JBoss Logging
diff --git a/artemis-protocols/artemis-hornetq-protocol/pom.xml b/artemis-protocols/artemis-hornetq-protocol/pom.xml
index 9ace768..d3f578f 100644
--- a/artemis-protocols/artemis-hornetq-protocol/pom.xml
+++ b/artemis-protocols/artemis-hornetq-protocol/pom.xml
@@ -79,6 +79,10 @@
          <artifactId>junit</artifactId>
          <scope>test</scope>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
 </project>
diff --git a/artemis-protocols/artemis-hqclient-protocol/pom.xml b/artemis-protocols/artemis-hqclient-protocol/pom.xml
index b48eaa7..fbfab9b 100644
--- a/artemis-protocols/artemis-hqclient-protocol/pom.xml
+++ b/artemis-protocols/artemis-hqclient-protocol/pom.xml
@@ -46,6 +46,10 @@
          <groupId>org.osgi</groupId>
          <artifactId>osgi.cmpn</artifactId>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
    <build>
@@ -53,7 +57,6 @@
          <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
-            <version>3.0.0</version>
             <extensions>true</extensions>
             <configuration>
                <instructions>
diff --git a/artemis-protocols/artemis-mqtt-protocol/pom.xml b/artemis-protocols/artemis-mqtt-protocol/pom.xml
index d70a913..be18065 100644
--- a/artemis-protocols/artemis-mqtt-protocol/pom.xml
+++ b/artemis-protocols/artemis-mqtt-protocol/pom.xml
@@ -41,6 +41,10 @@
          <artifactId>jboss-logging-annotations</artifactId>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
@@ -124,6 +128,13 @@
          <version>4.0.1</version>
          <scope>test</scope>
       </dependency>
+      <dependency>
+         <groupId>jakarta.annotation</groupId>
+         <artifactId>jakarta.annotation-api</artifactId>
+         <version>1.3.5</version>
+         <scope>test</scope>
+         <type>jar</type>
+      </dependency>
    </dependencies>
 
    <repositories>
diff --git a/artemis-protocols/artemis-openwire-protocol/pom.xml b/artemis-protocols/artemis-openwire-protocol/pom.xml
index 90d76ec..ca2b3f2 100644
--- a/artemis-protocols/artemis-openwire-protocol/pom.xml
+++ b/artemis-protocols/artemis-openwire-protocol/pom.xml
@@ -39,6 +39,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
@@ -123,7 +127,6 @@
          <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
-            <version>3.0.0</version>
             <extensions>true</extensions>
             <configuration>
                <instructions>
diff --git a/artemis-protocols/artemis-stomp-protocol/pom.xml b/artemis-protocols/artemis-stomp-protocol/pom.xml
index 204594c..005f300 100644
--- a/artemis-protocols/artemis-stomp-protocol/pom.xml
+++ b/artemis-protocols/artemis-stomp-protocol/pom.xml
@@ -45,6 +45,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-protocols/pom.xml b/artemis-protocols/pom.xml
index b2d84db..6fba27d 100644
--- a/artemis-protocols/pom.xml
+++ b/artemis-protocols/pom.xml
@@ -46,7 +46,6 @@
          <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
-            <version>3.0.0</version>
             <extensions>true</extensions>
             <configuration>
                <instructions>
diff --git a/artemis-ra/pom.xml b/artemis-ra/pom.xml
index 41ed652..ebf8e65 100644
--- a/artemis-ra/pom.xml
+++ b/artemis-ra/pom.xml
@@ -45,6 +45,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-rest/pom.xml b/artemis-rest/pom.xml
index e3a9e04..fe7158c 100644
--- a/artemis-rest/pom.xml
+++ b/artemis-rest/pom.xml
@@ -49,6 +49,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-selector/pom.xml b/artemis-selector/pom.xml
index 11dde61..49aa25b 100644
--- a/artemis-selector/pom.xml
+++ b/artemis-selector/pom.xml
@@ -33,6 +33,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-commons</artifactId>
          <version>${project.version}</version>
@@ -81,14 +85,32 @@
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
-                  <!-- version 3.2 is having problems with the APT processor resulting in
-                    java.lang.IllegalStateException: endPosTable already set  -->
-                  <version>3.1</version>
                   <configuration combine.self="override" />
                </plugin>
             </plugins>
          </build>
       </profile>
+<!--      <profile>
+          <id>java9on</id>
+          <activation>
+              <jdk>[9,)</jdk>
+          </activation>
+          <build>
+              <plugins>
+                  <plugin>
+                      <groupId>org.apache.maven.plugins</groupId>
+                      <artifactId>maven-compiler-plugin</artifactId>
+                      <configuration>
+                          <compilerArgs>
+                              <arg>-XDcompilePolicy=simple</arg>
+                               TODO: do this only for generated-sources 
+                              <arg>-Xplugin:ErrorProne -Xep:MissingOverride:WARN</arg>
+                          </compilerArgs>
+                      </configuration>
+                  </plugin>
+              </plugins>
+          </build>
+      </profile>-->
    </profiles>
 
    <build>
@@ -99,20 +121,20 @@
          </resource>
       </resources>
       <plugins>
-         <plugin>
+<!--         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
                <compilerArgs>
-                  <!-- TODO: do this only for generated-sources -->
-                  <arg>-Xep:MissingOverride:WARN</arg>
+                    <arg>-XDcompilePolicy=simple</arg>
+                   TODO: do this only for generated-sources 
+                  <arg>-Xplugin:ErrorProne -Xep:MissingOverride:WARN</arg>
                </compilerArgs>
             </configuration>
-         </plugin>
+         </plugin>-->
          <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>javacc-maven-plugin</artifactId>
-            <version>2.6</version>
             <executions>
                <execution>
                   <phase>generate-sources</phase>
diff --git a/artemis-selector/src/main/java/org/apache/activemq/artemis/selector/impl/LRUCache.java b/artemis-selector/src/main/java/org/apache/activemq/artemis/selector/impl/LRUCache.java
index efe3fcd..9e6a9d5 100644
--- a/artemis-selector/src/main/java/org/apache/activemq/artemis/selector/impl/LRUCache.java
+++ b/artemis-selector/src/main/java/org/apache/activemq/artemis/selector/impl/LRUCache.java
@@ -48,14 +48,14 @@ public class LRUCache<K, V> extends LinkedHashMap<K, V> {
    }
 
    /**
-    * Constructs an empty <tt>LRUCache</tt> instance with the specified
+    * Constructs an empty <code>LRUCache</code> instance with the specified
     * initial capacity, maximumCacheSize,load factor and ordering mode.
     *
     * @param initialCapacity  the initial capacity.
     * @param maximumCacheSize
     * @param loadFactor       the load factor.
-    * @param accessOrder      the ordering mode - <tt>true</tt> for access-order,
-    *                         <tt>false</tt> for insertion-order.
+    * @param accessOrder      the ordering mode - <code>true</code> for access-order,
+    *                         <code>false</code> for insertion-order.
     * @throws IllegalArgumentException if the initial capacity is negative or
     *                                  the load factor is non-positive.
     */
diff --git a/artemis-server-osgi/pom.xml b/artemis-server-osgi/pom.xml
index 8d1519b..d6df4f7 100644
--- a/artemis-server-osgi/pom.xml
+++ b/artemis-server-osgi/pom.xml
@@ -101,6 +101,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
@@ -137,7 +141,6 @@
          <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
-            <version>3.3.0</version>
             <extensions>true</extensions>
             <configuration>
                <instructions>
diff --git a/artemis-server/pom.xml b/artemis-server/pom.xml
index 9cfbdd8..f5436f3 100644
--- a/artemis-server/pom.xml
+++ b/artemis-server/pom.xml
@@ -45,6 +45,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/spi/core/protocol/AbstractProtocolManagerFactory.java b/artemis-server/src/main/java/org/apache/activemq/artemis/spi/core/protocol/AbstractProtocolManagerFactory.java
index a8284c1..1fbeb23 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/spi/core/protocol/AbstractProtocolManagerFactory.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/spi/core/protocol/AbstractProtocolManagerFactory.java
@@ -51,7 +51,7 @@ public abstract class AbstractProtocolManagerFactory<P extends BaseInterceptor>
 
    /**
     * org.apache.commons.beanutils.BeanUtils will log all the parameters so we strip out any password parameters
-    * (e.g. passwords for SSL keystore & truststore)
+    * (e.g. passwords for SSL keystore and truststore)
     *
     * @param parameters
     */
diff --git a/artemis-service-extensions/pom.xml b/artemis-service-extensions/pom.xml
index 7719580..cb2a86a 100644
--- a/artemis-service-extensions/pom.xml
+++ b/artemis-service-extensions/pom.xml
@@ -64,6 +64,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logmanager</groupId>
          <artifactId>jboss-logmanager</artifactId>
          <scope>test</scope>
diff --git a/artemis-tools/pom.xml b/artemis-tools/pom.xml
index 164e665..44694da 100644
--- a/artemis-tools/pom.xml
+++ b/artemis-tools/pom.xml
@@ -33,6 +33,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <scope>test</scope>
diff --git a/artemis-web/pom.xml b/artemis-web/pom.xml
index d512874..16c2fac 100644
--- a/artemis-web/pom.xml
+++ b/artemis-web/pom.xml
@@ -45,6 +45,12 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+          <scope>provided</scope>
+          <optional>true</optional>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
       </dependency>
diff --git a/artemis-website/pom.xml b/artemis-website/pom.xml
index 4ff0c05..a66854c 100644
--- a/artemis-website/pom.xml
+++ b/artemis-website/pom.xml
@@ -92,7 +92,6 @@
 
          <plugin>
             <artifactId>maven-javadoc-plugin</artifactId>
-            <version>2.10.1</version>
             <executions>
                <execution>
                   <id>javadoc-jar</id>
@@ -101,6 +100,7 @@
                      <goal>jar</goal>
                   </goals>
                   <configuration>
+                     <source>8</source>
                      <useStandardDocletOptions>true</useStandardDocletOptions>
                      <minmemory>128m</minmemory>
                      <maxmemory>512m</maxmemory>
diff --git a/etc/checkstyle-suppressions.xml b/etc/checkstyle-suppressions.xml
index 9ff360a..38d77dc 100644
--- a/etc/checkstyle-suppressions.xml
+++ b/etc/checkstyle-suppressions.xml
@@ -27,6 +27,7 @@ under the License.
 <suppressions>
 
    <!-- Suppress unfixable violations in JavaCC generated sources -->
-   <suppress checks="Indentation|Whitespace|Curly|Modifier|AvoidStarImport|EmptyStatement|ArrayTypeStyle|RegexpSingleline" files="[\\/]generated-sources[\\/]javacc[\\/]"/>
+   <suppress checks="Indentation|Whitespace|Curly|Modifier|AvoidStarImport|RedundantImport|UnusedImports|EmptyStatement|ArrayTypeStyle|RegexpSingleline" files="[\\/]generated-sources[\\/]javacc[\\/]"/>
+   <suppress checks="Indentation|Whitespace|Curly|Modifier|AvoidStarImport|RedundantImport|UnusedImports|EmptyStatement|ArrayTypeStyle|RegexpSingleline" files="[\\/]generated-sources[\\/]annotations[\\/]"/>
 
 </suppressions>
diff --git a/integration/activemq-spring-integration/pom.xml b/integration/activemq-spring-integration/pom.xml
index 56afdef..714aae2 100644
--- a/integration/activemq-spring-integration/pom.xml
+++ b/integration/activemq-spring-integration/pom.xml
@@ -48,6 +48,10 @@
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
 </project>
diff --git a/pom.xml b/pom.xml
index 80fc80d..9a08153 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,6 +71,8 @@
    </prerequisites>
 
    <properties>
+      <modular.jdk.surefire.arg></modular.jdk.surefire.arg>
+      <javac.version>9+181-r4173-1</javac.version>
        <!-- base url for site deployment.  See distribution management for full url.  Override this in settings.xml for staging -->
       <staging.siteURL>scp://people.apache.org/x1/www/activemq.apache.org</staging.siteURL>
 
@@ -127,7 +129,7 @@
       <hamcrest.version>2.1</hamcrest.version>
 
       <!-- used on tests -->
-      <groovy.version>2.4.3</groovy.version>
+      <groovy.version>2.5.10</groovy.version>
 
       <owasp.version>1.4.3</owasp.version>
       <spring.version>5.1.7.RELEASE</spring.version>
@@ -158,9 +160,6 @@
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-      <maven.compiler.source>1.8</maven.compiler.source>
-      <maven.compiler.target>1.8</maven.compiler.target>
-
      <!--
 
        note for idea users:
@@ -186,8 +185,6 @@
       <skipStyleCheck>true</skipStyleCheck>
       <skipOWASP>true</skipOWASP>
 
-      <javac-compiler-id>javac-with-errorprone</javac-compiler-id>
-
       <directory-version>2.0.0-M15</directory-version>
       <directory-jdbm2-version>2.0.0-M1</directory-jdbm2-version>
 
@@ -335,6 +332,13 @@
             <optional>true</optional>
             <!-- License: Apache 2.0-->
          </dependency>
+         <dependency>
+             <groupId>com.google.errorprone</groupId>
+             <artifactId>error_prone_core</artifactId>
+             <version>2.4.0</version>
+             <scope>provided</scope>
+            <optional>true</optional>
+         </dependency>
          <!--needed to compile the logging jar-->
          <dependency>
             <groupId>log4j</groupId>
@@ -888,9 +892,7 @@
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
-                  <!-- version 3.2 is having problems with the APT processor resulting in
-                    java.lang.IllegalStateException: endPosTable already set  -->
-                  <version>3.1</version>
+                  <version>3.8.1</version>
                   <configuration combine.self="override" />
                </plugin>
                <plugin>
@@ -910,6 +912,10 @@
          <activation>
             <jdk>1.8</jdk>
          </activation>
+          <properties>
+              <maven.compiler.source>8</maven.compiler.source>
+              <maven.compiler.target>8</maven.compiler.target>
+          </properties>
          <build>
             <plugins>
                <plugin>
@@ -923,6 +929,34 @@
          </build>
       </profile>
       <profile>
+          <id>java9on</id>
+          <activation>
+              <jdk>[9,)</jdk>
+          </activation>
+          <properties>
+              <maven.compiler.source>8</maven.compiler.source>
+              <maven.compiler.target>11</maven.compiler.target>
+              <modular.jdk.surefire.arg>--add-modules java.sql,jdk.unsupported </modular.jdk.surefire.arg>
+          </properties>
+          <build>
+              <plugins>
+                  <plugin>
+                      <groupId>org.apache.maven.plugins</groupId>
+                      <artifactId>maven-compiler-plugin</artifactId>
+                      <configuration>
+                          <showWarnings>true</showWarnings>
+                          <compilerArgs>
+                              <arg>-Xdiags:verbose</arg>
+                              <arg>--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED</arg>
+                              <arg>-XDcompilePolicy=simple</arg>
+                              <arg>-Xplugin:ErrorProne -Xep:MissingOverride:ERROR -Xep:NonAtomicVolatileUpdate:ERROR -Xep:SynchronizeOnNonFinalField:ERROR  -Xep:SynchronizeOnNonFinalField:ERROR -Xep:WaitNotInLoop:ERROR -XepExcludedPaths:.*/generated-sources/.*</arg>
+                          </compilerArgs>
+                      </configuration>
+                  </plugin>
+              </plugins>
+          </build>
+      </profile>
+      <profile>
          <id>owasp</id>
          <properties>
             <skipOWASP>false</skipOWASP>
@@ -1396,34 +1430,15 @@
                <artifactId>maven-compiler-plugin</artifactId>
                <!-- version 3.2 is having problems with the APT processor resulting in
                     java.lang.IllegalStateException: endPosTable already set  -->
-               <version>3.1</version>
+               <version>3.8.1</version>
                <!-- Enable Google's Error-Prone https://github.com/google/error-prone -->
                <configuration>
-                 <showWarnings>true</showWarnings>
-                 <forceJavacCompilerUse>true</forceJavacCompilerUse>
-                 <compilerId>${javac-compiler-id}</compilerId>
-                 <compilerArgs>
-                    <arg>-Xep:MissingOverride:ERROR</arg>
-                    <arg>-Xep:NonAtomicVolatileUpdate:ERROR</arg>
-                    <arg>-Xep:SynchronizeOnNonFinalField:ERROR</arg>
-                    <arg>-Xep:StaticAccessedFromInstance:ERROR</arg>
-                    <arg>-Xep:SynchronizeOnNonFinalField:ERROR</arg>
-                    <arg>-Xep:WaitNotInLoop:ERROR</arg>
-                    <arg>-Xdiags:verbose</arg>
-                 </compilerArgs>
+                   <showWarnings>true</showWarnings>
+                   <compilerArgs combine.children="append">
+                       <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar -Xep:MissingOverride:ERROR -Xep:NonAtomicVolatileUpdate:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:StaticAccessedFromInstance:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:WaitNotInLoop:ERROR</arg>
+                       <arg>-Xdiags:verbose</arg>
+                   </compilerArgs>
                </configuration>
-               <dependencies>
-                 <dependency>
-                   <groupId>org.codehaus.plexus</groupId>
-                   <artifactId>plexus-compiler-javac-errorprone</artifactId>
-                   <version>2.8</version>
-                 </dependency>
-                 <dependency>
-                   <groupId>com.google.errorprone</groupId>
-                   <artifactId>error_prone_core</artifactId>
-                   <version>2.0.9</version>
-                 </dependency>
-               </dependencies>
             </plugin>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
@@ -1433,8 +1448,7 @@
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
-
-               <version>2.9</version>
+               <version>2.10.4</version>
             </plugin>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
@@ -1605,7 +1619,7 @@
          <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-checkstyle-plugin</artifactId>
-            <version>3.0.0</version>
+            <version>3.1.1</version>
             <dependencies>
                <dependency>
                   <groupId>com.github.sevntu-checkstyle</groupId>
@@ -1729,7 +1743,7 @@
          <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
-            <version>3.0.0</version>
+            <version>4.2.1</version>
             <extensions>true</extensions>
          </plugin>
          <plugin>
@@ -1822,7 +1836,7 @@
          <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-javadoc-plugin</artifactId>
-            <version>2.9</version>
+            <version>2.10.4</version>
             <configuration>
                <minmemory>128m</minmemory>
                <maxmemory>1024m</maxmemory>
diff --git a/tests/artemis-test-support/pom.xml b/tests/artemis-test-support/pom.xml
index 666ea83..2565ce6 100644
--- a/tests/artemis-test-support/pom.xml
+++ b/tests/artemis-test-support/pom.xml
@@ -81,6 +81,10 @@
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jms_2.0_spec</artifactId>
       </dependency>
+    <dependency>
+        <groupId>com.google.errorprone</groupId>
+        <artifactId>error_prone_core</artifactId>
+    </dependency>
    </dependencies>
 
 </project>
diff --git a/tests/compatibility-tests/pom.xml b/tests/compatibility-tests/pom.xml
index 80e38f5..9ebab02 100644
--- a/tests/compatibility-tests/pom.xml
+++ b/tests/compatibility-tests/pom.xml
@@ -33,6 +33,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-server</artifactId>
          <version>${project.version}</version>
@@ -166,6 +170,7 @@
          <groupId>org.codehaus.groovy</groupId>
          <artifactId>groovy-all</artifactId>
          <version>${groovy.version}</version>
+         <type>pom</type>
       </dependency>
       <dependency>
          <groupId>org.apache.activemq</groupId>
@@ -267,7 +272,6 @@
       <dependency>
          <groupId>org.apache.qpid</groupId>
          <artifactId>qpid-jms-client</artifactId>
-         <version>${qpid.jms.version}</version>
       </dependency>
       <dependency>
          <groupId>org.apache.qpid</groupId>
@@ -276,12 +280,11 @@
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
-         <version>1.7.5</version>
       </dependency>
       <dependency>
          <groupId>org.jboss.marshalling</groupId>
          <artifactId>jboss-marshalling-river</artifactId>
-         <version>2.0.2.Final</version>
+         <version>2.0.9.Final</version>
       </dependency>
    </dependencies>
 
@@ -324,7 +327,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:${project.version}</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:${project.version}</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:${project.version}</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -346,7 +349,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.6.3</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.6.3</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.6.3</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -370,7 +373,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.7.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.7.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.7.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -395,8 +398,8 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.10.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.10.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.10.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
-                        <arg>org.jboss.marshalling:jboss-marshalling-river:2.0.2.Final</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
+                        <arg>org.jboss.marshalling:jboss-marshalling-river:2.0.9.Final</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -420,7 +423,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.4.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.4.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.4.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -444,7 +447,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.1.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.1.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.1.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -468,7 +471,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.0.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:2.0.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:2.0.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -492,7 +495,7 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:1.4.0</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:1.4.0</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:1.4.0</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -516,8 +519,8 @@
                         <arg>org.apache.activemq:artemis-hornetq-protocol:1.5.5</arg>
                         <arg>org.apache.activemq:artemis-amqp-protocol:1.5.5</arg>
                         <arg>org.apache.activemq:artemis-hornetq-protocol:1.5.5</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
-                        <arg>org.jboss.marshalling:jboss-marshalling-river:2.0.2.Final</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
+                        <arg>org.jboss.marshalling:jboss-marshalling-river:2.0.9.Final</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -542,7 +545,7 @@
                      </extraRepositories>
                      <libListWithDeps>
                         <arg>org.hornetq:hornetq-jms-server:2.3.5.Final</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -567,7 +570,7 @@
                      </extraRepositories>
                      <libListWithDeps>
                         <arg>org.hornetq:hornetq-jms-server:2.4.7.Final</arg>
-                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
+                        <arg>org.codehaus.groovy:groovy-all:pom:${groovy.version}</arg>
                      </libListWithDeps>
                      <libList>
                         <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
@@ -635,7 +638,7 @@
                   </property>
                </systemProperties>
                <skipTests>${skipCompatibilityTests}</skipTests>
-               <argLine>-Djgroups.bind_addr=::1 ${activemq-surefire-argline}</argLine>
+               <argLine>${modular.jdk.surefire.arg} -Djgroups.bind_addr=::1 ${activemq-surefire-argline}</argLine>
             </configuration>
          </plugin>
          <!-- during testing and debugging, it may be useful to add all the classpath variables to your IDE settings and run compatibility tests manually.
diff --git a/tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/base/ClasspathBase.java b/tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/base/ClasspathBase.java
index 3faabff..6bdd500 100644
--- a/tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/base/ClasspathBase.java
+++ b/tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/base/ClasspathBase.java
@@ -19,7 +19,6 @@ package org.apache.activemq.artemis.tests.compatibility.base;
 
 import java.io.File;
 import java.lang.reflect.Method;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.HashMap;
@@ -33,29 +32,45 @@ import org.junit.rules.TemporaryFolder;
 
 import static org.apache.activemq.artemis.tests.compatibility.GroovyRun.SNAPSHOT;
 
+
+
 public class ClasspathBase {
 
 
    @ClassRule
    public static TemporaryFolder serverFolder;
+   private static int javaVersion;
 
    static {
       File parent = new File("./target/tmp");
       parent.mkdirs();
       serverFolder = new TemporaryFolder(parent);
+      String version = System.getProperty("java.version");
+      if (version.startsWith("1.")) {
+         version = version.substring(2, 3);
+      } else {
+         int dot = version.indexOf(".");
+         if (dot != -1) {
+            version = version.substring(0, dot);
+         }
+      }
+      javaVersion = Integer.parseInt(version);
    }
 
    protected static Map<String, ClassLoader> loaderMap = new HashMap<>();
 
    private static HashSet<String> printed = new HashSet<>();
 
-   protected ClassLoader defineClassLoader(String classPath) throws MalformedURLException {
+   protected ClassLoader defineClassLoader(String classPath) throws Exception {
       String[] classPathArray = classPath.split(File.pathSeparator);
       URL[] elements = new URL[classPathArray.length];
       for (int i = 0; i < classPathArray.length; i++) {
          elements[i] = new File(classPathArray[i]).toPath().toUri().toURL();
       }
-
+      if (javaVersion > 8) {
+         ClassLoader parent = (ClassLoader) ClassLoader.class.getDeclaredMethod("getPlatformClassLoader").invoke(null);
+         return new URLClassLoader(elements, parent);
+      }
       return new URLClassLoader(elements, null);
    }
 
diff --git a/tests/integration-tests/pom.xml b/tests/integration-tests/pom.xml
index f6928a0..e72d392 100644
--- a/tests/integration-tests/pom.xml
+++ b/tests/integration-tests/pom.xml
@@ -34,6 +34,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-server</artifactId>
          <version>${project.version}</version>
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/JMSConsumer9Test.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/JMSConsumer9Test.java
index b73b2cf..d8fc811 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/JMSConsumer9Test.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/JMSConsumer9Test.java
@@ -29,6 +29,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.activemq.artemis.tests.integration.openwire.BasicOpenWireTest;
 import org.apache.activemq.command.ActiveMQDestination;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -85,6 +86,8 @@ public class JMSConsumer9Test extends BasicOpenWireTest {
       assertEquals(4, counter.get());
    }
 
+   @Test
+   @Ignore
    public void testMessageListenerWithConsumer() throws Exception {
 
       final AtomicInteger counter = new AtomicInteger(0);
diff --git a/tests/jms-tests/pom.xml b/tests/jms-tests/pom.xml
index 2f4dbe6..e96b72f 100644
--- a/tests/jms-tests/pom.xml
+++ b/tests/jms-tests/pom.xml
@@ -112,6 +112,10 @@
           <groupId>org.wildfly.common</groupId>
           <artifactId>wildfly-common</artifactId>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
    <build>
diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/TransactedSessionTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/TransactedSessionTest.java
index fad600c..c3f2945 100644
--- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/TransactedSessionTest.java
+++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/TransactedSessionTest.java
@@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.activemq.artemis.jms.tests.util.ProxyAssertSupport;
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class TransactedSessionTest extends JMSTestCase {
@@ -617,6 +618,8 @@ public class TransactedSessionTest extends JMSTestCase {
 
    }
 
+   @Test
+   @Ignore
    public void _testSendCommitQueueCommitsInOrder() throws Exception {
       Connection conn = null;
 
diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/BodyIsAssignableFromTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/BodyIsAssignableFromTest.java
index b791ce2..8a72da1 100644
--- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/BodyIsAssignableFromTest.java
+++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/BodyIsAssignableFromTest.java
@@ -23,7 +23,6 @@ import javax.jms.Message;
 import javax.jms.MessageFormatException;
 import java.io.File;
 import java.io.Serializable;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -87,7 +86,7 @@ public class BodyIsAssignableFromTest extends MessageBodyTestCase {
             Object receivedBody = msg.getBody(c);
             Assert.assertTrue("correct type " + c, c.isInstance(receivedBody));
             if (body.getClass().isAssignableFrom(byte[].class)) {
-               Arrays.equals((byte[]) body, (byte[]) receivedBody);
+               Assert.assertArrayEquals(byte[].class.cast(body), (byte[]) receivedBody);
             } else {
                Assert.assertEquals("clazz=" + c + ", bodies must match.. " + body.equals(receivedBody), body, receivedBody);
             }
diff --git a/tests/joram-tests/pom.xml b/tests/joram-tests/pom.xml
index 9a7edf0..9489a6e 100644
--- a/tests/joram-tests/pom.xml
+++ b/tests/joram-tests/pom.xml
@@ -103,6 +103,10 @@
           <groupId>org.wildfly.common</groupId>
           <artifactId>wildfly-common</artifactId>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
 
    </dependencies>
 
diff --git a/tests/karaf-client-integration-tests/pom.xml b/tests/karaf-client-integration-tests/pom.xml
index 6e524fb..de8883a 100644
--- a/tests/karaf-client-integration-tests/pom.xml
+++ b/tests/karaf-client-integration-tests/pom.xml
@@ -37,6 +37,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>activemq-client</artifactId>
          <scope>test</scope>
diff --git a/tests/performance-tests/pom.xml b/tests/performance-tests/pom.xml
index 1f60f72..ab568db 100644
--- a/tests/performance-tests/pom.xml
+++ b/tests/performance-tests/pom.xml
@@ -33,6 +33,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-core-client</artifactId>
          <version>${project.version}</version>
diff --git a/tests/smoke-tests/pom.xml b/tests/smoke-tests/pom.xml
index 3b520dc..e0da55e 100644
--- a/tests/smoke-tests/pom.xml
+++ b/tests/smoke-tests/pom.xml
@@ -91,6 +91,10 @@
          <optional>true</optional>
       </dependency>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.qpid</groupId>
          <artifactId>qpid-jms-client</artifactId>
          <version>${qpid.jms.version}</version>
diff --git a/tests/soak-tests/pom.xml b/tests/soak-tests/pom.xml
index b39e3cf..15ea7e8 100644
--- a/tests/soak-tests/pom.xml
+++ b/tests/soak-tests/pom.xml
@@ -34,6 +34,10 @@
 
    <dependencies>
       <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-core-client</artifactId>
          <version>${project.version}</version>
diff --git a/tests/stress-tests/pom.xml b/tests/stress-tests/pom.xml
index e7e1e66..3829f09 100644
--- a/tests/stress-tests/pom.xml
+++ b/tests/stress-tests/pom.xml
@@ -119,6 +119,10 @@
          <scope>test</scope>
          <type>test-jar</type>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
    <build>
diff --git a/tests/timing-tests/pom.xml b/tests/timing-tests/pom.xml
index e611d5e..61b71c0 100644
--- a/tests/timing-tests/pom.xml
+++ b/tests/timing-tests/pom.xml
@@ -102,6 +102,10 @@
          <scope>test</scope>
          <type>test-jar</type>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
    </dependencies>
 
    <build>
diff --git a/tests/unit-tests/pom.xml b/tests/unit-tests/pom.xml
index 71d48f7..4511b97 100644
--- a/tests/unit-tests/pom.xml
+++ b/tests/unit-tests/pom.xml
@@ -170,6 +170,10 @@
          <version>${netty-tcnative-version}</version>
          <scope>test</scope>
       </dependency>
+      <dependency>
+          <groupId>com.google.errorprone</groupId>
+          <artifactId>error_prone_core</artifactId>
+      </dependency>
 
    </dependencies>