diff --git a/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/ArthurMojo.java b/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/ArthurMojo.java
index 7d586b7..e91aeaa 100644
--- a/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/ArthurMojo.java
+++ b/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/ArthurMojo.java
@@ -76,7 +76,7 @@
     /**
      * In case Graal must be downloaded to get native-image, which version to download.
      */
-    @Parameter(property = "arthur.graalVersion", defaultValue = "19.2.1")
+    @Parameter(property = "arthur.graalVersion", defaultValue = "19.3.0.r8")
     private String graalVersion;
 
     /**
diff --git a/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/NativeImageMojo.java b/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/NativeImageMojo.java
index 2604468..7a4d712 100644
--- a/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/NativeImageMojo.java
+++ b/arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/NativeImageMojo.java
@@ -536,7 +536,8 @@
     }
 
     private boolean isNotSvm(final Artifact artifact) {
-        return !"com.oracle.substratevm".equals(artifact.getGroupId());
+        return !"com.oracle.substratevm".equals(artifact.getGroupId()) &&
+                !"org.graalvm.nativeimage".equals(artifact.getGroupId());
     }
 
     private Stream<? extends Map.Entry<? extends Artifact, Path>> resolveExtension() {
diff --git a/documentation/src/content/maven.adoc b/documentation/src/content/maven.adoc
index 9dccd5f..0e38eed 100644
--- a/documentation/src/content/maven.adoc
+++ b/documentation/src/content/maven.adoc
@@ -107,7 +107,7 @@
 include::{generated_dir}/generated_nativeimage_mojo.adoc[]
 
 
-TIP: if you want to debug native image generation, you must add `com.oracle.substratevm:svm` dependency and add the `customOption` `--debug-attach`.
+TIP: if you want to debug native image generation, you must add `org.graalvm.nativeimage:svm` dependency and add the `customOption` `--debug-attach`.
 
 == What about docker?
 
diff --git a/integration-test/src/test/java/org/apache/geronimo/arthur/integrationtests/container/MavenContainer.java b/integration-test/src/test/java/org/apache/geronimo/arthur/integrationtests/container/MavenContainer.java
index 0153205..8363f21 100644
--- a/integration-test/src/test/java/org/apache/geronimo/arthur/integrationtests/container/MavenContainer.java
+++ b/integration-test/src/test/java/org/apache/geronimo/arthur/integrationtests/container/MavenContainer.java
@@ -62,7 +62,7 @@
             return new ImageFromDockerfile(
                     targetImage, Boolean.getBoolean("arthur.container.maven.deleteOnExit"))
                     .withDockerfileFromBuilder(builder -> builder.from(fromImage)
-                            .run("apt update && apt install -y gcc libc6-dev zlib1g-dev")
+                            .run("apt update && apt install -y gcc g++ libc6-dev zlib1g-dev")
                             .label("org.apache.geronimo.arthur.environment", "integration-tests")
                             .label("org.apache.geronimo.arthur.baseImage", fromImage)
                             .label("org.apache.geronimo.arthur.tag", tag))
diff --git a/knights/pom.xml b/knights/pom.xml
index 95acf69..32fa814 100644
--- a/knights/pom.xml
+++ b/knights/pom.xml
@@ -52,7 +52,7 @@
     <dependencies>
       <!--
       <dependency>
-        <groupId>com.oracle.substratevm</groupId>
+        <groupId>org.graalvm.nativeimage</groupId>
         <artifactId>svm</artifactId>
         <version>${svm.version}</version>
         <scope>provided</scope>
diff --git a/knights/winegrower-knight/pom.xml b/knights/winegrower-knight/pom.xml
index 1ba8b30..fa3b5db 100644
--- a/knights/winegrower-knight/pom.xml
+++ b/knights/winegrower-knight/pom.xml
@@ -55,7 +55,7 @@
     </dependency>
 
     <dependency>
-      <groupId>com.oracle.substratevm</groupId>
+      <groupId>org.graalvm.nativeimage</groupId>
       <artifactId>svm</artifactId>
       <version>${graalvm.version}</version>
       <scope>provided</scope>
diff --git a/pom.xml b/pom.xml
index 066b47e..a068864 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,7 +44,7 @@
 
     <!-- knights -->
     <jsch.version>0.1.55</jsch.version>
-    <graalvm.version>19.2.1</graalvm.version>
+    <graalvm.version>19.3.0</graalvm.version>
     <winegrower.version>1.0-SNAPSHOT</winegrower.version> <!-- search for NEEDS_WINEGROWER_RELEASE once released -->
 
     <!-- plugin versions/confs -->
