diff --git a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/marshal/StringEncoder.java b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/marshal/StringEncoder.java
index 143039a58c5..e7707eb37fc 100644
--- a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/marshal/StringEncoder.java
+++ b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/marshal/StringEncoder.java
@@ -18,8 +18,11 @@
* this priority order:
*
*
- * - {@code VarHandleStringEncoder} - High-performance Java 9+ implementation using VarHandle
- *
- {@code UnsafeStringEncoder} - High-performance Java 8+ implementation using sun.misc.Unsafe
+ *
- {@code UnsafeStringEncoder} - High-performance Java 8+ implementation using
+ * sun.misc.Unsafe. Only attempted when the Java version is detected to be below 23, to avoid
+ * the JEP 498 deprecation warning.
+ *
- {@code VarHandleStringEncoder} - High-performance Java 9+ implementation using VarHandle.
+ * Requires {@code --add-opens=java.base/java.lang=ALL-UNNAMED}.
*
- {@code FallbackStringEncoder} - Implementation using standard Java operations
*
*