diff --git a/README.adoc b/README.adoc
index 76f9eae..6b479ca 100644
--- a/README.adoc
+++ b/README.adoc
@@ -202,6 +202,12 @@
     </dependency>
 
     <dependency>
+      <groupId>org.jboss.logmanager</groupId>
+      <artifactId>jboss-logmanager-embedded</artifactId>
+      <version>1.2.0.Final</version>
+    </dependency>
+
+    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter</artifactId>
       <exclusions>
@@ -245,6 +251,7 @@
 dependencies {
   implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging-core:6.1.0")
   implementation("org.jboss.logmanager:jboss-logmanager:3.0.2.Final")
+  implementation("org.jboss.logmanager:jboss-logmanager-embedded:1.2.0.Final")
   implementation("org.jboss.slf4j:slf4j-jboss-logmanager:2.0.1.Final")
 }
 
@@ -272,15 +279,31 @@
 logging.config = classpath:logging.properties
 ----
 
-Finally, create the `logging.properties` file in your `resources`
-directory and set the root logger level to something other than
-`SEVERE`:
+Create the `logging.properties` file in your `resources` directory and
+set the root logger level to something other than `SEVERE`:
 
 [source,properties]
 ----
 logger.level = INFO
 ----
 
+Finally, add a `static` block to your Spring Boot application class
+that disables the Tomcat URL stream handler factory, which conflicts
+with the URL stream handler factory registered by the JBoss Modules
+library:
+
+[source,java]
+----
+@SpringBootApplication
+public class Application {
+
+  static {
+    TomcatURLStreamHandlerFactory.disable();
+  }
+
+  // ...
+}
+----
 
 == Usage
 
diff --git a/examples/spring-boot/pom.xml b/examples/spring-boot/pom.xml
index f786b12..9b26ee3 100644
--- a/examples/spring-boot/pom.xml
+++ b/examples/spring-boot/pom.xml
@@ -70,6 +70,11 @@
       <version>3.0.2.Final</version>
     </dependency>
     <dependency>
+      <groupId>org.jboss.logmanager</groupId>
+      <artifactId>jboss-logmanager-embedded</artifactId>
+      <version>1.2.0.Final</version>
+    </dependency>
+    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
diff --git a/examples/spring-boot/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/example/Application.java b/examples/spring-boot/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/example/Application.java
index d7be322..9a4bdee 100644
--- a/examples/spring-boot/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/example/Application.java
+++ b/examples/spring-boot/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/example/Application.java
@@ -4,12 +4,17 @@
 
 package eu.mulk.quarkus.googlecloud.jsonlogging.example;
 
+import org.apache.catalina.webresources.TomcatURLStreamHandlerFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
 public class Application {
 
+  static {
+    TomcatURLStreamHandlerFactory.disable();
+  }
+
   public static void main(String[] args) {
     SpringApplication.run(Application.class, args);
   }
