我正在尝试使用Spring restdocs配置asciidoctor。我正在将它从org.asciidoctor.convert
升级到org.asciidoctor.jvm.convert
,但得到的错误是它无法找到页面和加载代码片段。根据我得到的错误,它不会对我在gradle构建文件中设置的配置做任何操作。我曾尝试添加asciidoctorExtensions
来替换废弃的asciidoctor
,但似乎都不起作用。
错误:
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/substitutors.rb sub_macros
INFO: possible invalid reference: synchronization
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb preprocess_include_directive
SEVERE: errors.adoc: line 23: include file not found: C:/Users/User/Documents/Projects/Trips/{snippets}/send not serializable date/response-body.adoc
include file not found: C:/Users/User/Documents/Projects/Trips/{snippets}/send not serializable date/response-body.adoc :: errors.adoc :: C:/Users/User/Documents/Projects/Trips/C:/Users/User/Documents/Projects/Trips/src/main/docs/errors.adoc:23 (uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb:preprocess_include_directive)
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb preprocess_include_directive
SEVERE: index.adoc: line 51: include file not found: C:/Users/User/Documents/Projects/Trips/synchronization.adoc
include file not found: C:/Users/User/Documents/Projects/Trips/synchronization.adoc :: index.adoc :: C:/Users/User/Documents/Projects/Trips/C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc:51 (uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb:preprocess_include_directive)
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb preprocess_include_directive
SEVERE: index.adoc: line 67: include file not found: C:/Users/User/Documents/Projects/Trips/errors.adoc
include file not found: C:/Users/User/Documents/Projects/Trips/errors.adoc :: index.adoc :: C:/Users/User/Documents/Projects/Trips/C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc:67 (uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb:preprocess_include_directive)
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb preprocess_include_directive
SEVERE: index.adoc: line 78: include file not found: C:/Users/User/Documents/Projects/Trips/app-user-settings.adoc
include file not found: C:/Users/User/Documents/Projects/Trips/app-user-settings.adoc :: index.adoc :: C:/Users/User/Documents/Projects/Trips/C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc:78 (uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb:preprocess_include_directive)
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb preprocess_include_directive
SEVERE: index.adoc: line 82: include file not found: C:/Users/User/Documents/Projects/Trips/miscellaneous-calls.adoc
include file not found: C:/Users/User/Documents/Projects/Trips/miscellaneous-calls.adoc :: index.adoc :: C:/Users/User/Documents/Projects/Trips/C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc:82 (uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/reader.rb:preprocess_include_directive)
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
WARNING: C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc: stylesheet does not exist or cannot be read: C:/Users/User/Documents/Projects/Trips/riak.css
jun. 18, 2021 2:56:10 P.M. uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/substitutors.rb sub_macros
C:/Users/User/Documents/Projects/Trips/src/main/docs/index.adoc: stylesheet does not exist or cannot be read: C:/Users/User/Documents/Projects/Trips/riak.css
Build.gradle:
plugins {
id("org.asciidoctor.jvm.convert") version "3.3.2"
...
kotlin("jvm") version "1.5.10"
kotlin("plugin.spring") version "1.5.10"
}
val asciidoctorExtensions: Configuration by configurations.creating
dependencies {
...
asciidoctorExtensions("org.springframework.restdocs:spring-restdocs-asciidoctor")
}
val snippetsDir by extra { file("build/generated-snippets") }
tasks.test {
useJUnitPlatform()
outputs.dir(snippetsDir)
mustRunAfter(tasks.flywayMigrate.get())
}
tasks.asciidoctor {
asciidoctorExtensions
sourceDir("src/main/docs")
inputs.dir(snippetsDir)
attributes["snippets"] = file(snippetsDir)
attributes["environment-${project.properties["spring.profiles.active"]}"] = true
dependsOn(tasks.test.get())
}
Index.adoc:
:toc: left
:sectlinks:
:sectnums:
:sectnumlevels: 5
:toc: left
:toclevels: 2
:page-layout: docs
:source-highlighter: highlightjs
:stylesheet: riak.css
...
include::errors.adoc[]
include::synchronization.adoc[]
include::app-user-settings.adoc[]
Errors.adoc:
[[errors, Errors]]
== Errors
...
[[not_serializable_date]]
==== Incorrect dateformat
include::{snippets}/send{sp}not{sp}serializable{sp}date/response-body.adoc[]
App-user-settings.adoc:
[[app_user_settings, AppUserSetting(s)]]
== AppUserSetting(s)
[.lead]
...
=== Create
...
[.tabs]
--
operation::create{sp}a{sp}app{sp}user{sp}setting[snippets='request-fields,request-body,curl-request,http-request,httpie-request']
--
我做错了什么/我必须改变什么才能让它正常工作?
发布于 2021-07-04 19:28:03
您可以在此处找到Gradle的工作示例:https://github.com/spring-projects/spring-restdocs/blob/main/samples/rest-notes-spring-hateoas/build.gradle
请注意:不需要设置snippet属性:它是由spring-restdocs-asciidoctor扩展自动设置的。
https://stackoverflow.com/questions/68036458
复制相似问题