diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml
index 8eda22e..cac75ea 100644
--- a/dependencies/default/pom.xml
+++ b/dependencies/default/pom.xml
@@ -33,7 +33,7 @@
     <!-- Dependency versions -->
     <activation.version>1.2.2</activation.version>
     <archaius.version>0.7.7</archaius.version>
-    <asciidoctorj.version>1.6.2</asciidoctorj.version>
+    <asciidoctorj.version>2.5.3</asciidoctorj.version>
     <aspectj.version>1.9.9.1</aspectj.version>
     <awaitility.version>4.2.0</awaitility.version>
     <assertj.version>3.22.0</assertj.version>
diff --git a/inspector/src/main/java/org/apache/servicecomb/inspector/internal/InspectorImpl.java b/inspector/src/main/java/org/apache/servicecomb/inspector/internal/InspectorImpl.java
index d41e08f..32aaa45 100644
--- a/inspector/src/main/java/org/apache/servicecomb/inspector/internal/InspectorImpl.java
+++ b/inspector/src/main/java/org/apache/servicecomb/inspector/internal/InspectorImpl.java
@@ -65,7 +65,7 @@
 import org.asciidoctor.Asciidoctor;
 import org.asciidoctor.Asciidoctor.Factory;
 import org.asciidoctor.Attributes;
-import org.asciidoctor.AttributesBuilder;
+import org.asciidoctor.Options;
 import org.asciidoctor.OptionsBuilder;
 import org.asciidoctor.SafeMode;
 import org.slf4j.Logger;
@@ -244,20 +244,20 @@
     String markup = markupBuilder.withConfig(markupConfig).build().toString();
 
     // markup to html
-    OptionsBuilder builder = OptionsBuilder.options();
+    OptionsBuilder builder = Options.builder();
     builder.docType("book")
         .backend("html5")
         .headerFooter(true)
         .safe(SafeMode.UNSAFE)
-        .attributes(AttributesBuilder.attributes()
+        .attributes(Attributes.builder()
             .attribute("toclevels", 3)
             .attribute(Attributes.TOC_2, true)
             .attribute(Attributes.TOC_POSITION, "left")
             .attribute(Attributes.LINK_CSS, true)
             .attribute(Attributes.STYLESHEET_NAME, inspectorConfig.getAsciidoctorCss())
             .attribute(Attributes.SECTION_NUMBERS, true)
-            .attribute(Attributes.SECT_NUM_LEVELS, 4));
-    return asciidoctor.convert(markup, builder.asMap());
+            .attribute(Attributes.SECT_NUM_LEVELS, 4).build());
+    return asciidoctor.convert(markup, builder.build());
   }
 
   @Path("/{path : .+}")
