[Spring] Assiidoctor 오류 [Some problems were found with the configuration of
RestDocs로 API 문서를 만들려고 테스트 코드 돌리고 문서 간단하게 작성하고 이제 HTML로 짜잔 해야지!
하며 실행시켰지만,, 나의 static 파일에는 아무런 변화가 나타나지 않았다.
먼저, 의존성부터 확인해주었다. (해결책은 제일 아래에)
plugins {
id 'org.springframework.boot' version '2.4.9'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'org.asciidoctor.convert' version '1.5.8'
id 'java'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
id 'org.asciidoctor.convert' version '1.5.8' 가 있는지 확인해주었고,
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
asciidoctor 'org.springframework.restdocs:spring-restdocs-asciidoctor'
도 존재하는지 확인해주고,
asciidoctor {
inputs.dir snippetsDir
dependsOn test
}
bootJar{
dependsOn asciidoctor
copy {
from "build/asciidoc/html5"
into "src/main/resources/static/docs"
}
}
여기가 항상 문제다.ㅠㅠ전에도 여기서 문제였는데 이번에도 또,,ㅠ
아래에 적어둔 오류가 해결되어도 여기에서 잘못해주면 static에 문서가 생기지 않는다. 문제가 없어보일 때에는 애초에 그냥 지워버리고 다시 새로고침해주고 다시 복붙하여 넣어준 후 새로고침을 해주면 해결되기도 한다. 띄어쓰기 주의!
이렇게 잘 확인도 하고 오른쪽 Gradle에서 Clean - Build를 눌러주었다.
Some problems were found with the configuration of task ':asciidoctor' (type 'AsciidoctorTask'). - In plugin 'org.asciidoctor.convert' type 'org.asciidoctor.gradle.AsciidoctorTask' method 'asGemPath()' should not be annotated with: @Optional, @InputDirectory.
라는 오류가 빌드 중 발생하였다. 애초에 빌드가 되질 않으니 빌드(파일)로부터 파일을 생성할 수가 없었다.
이유가 뭘까하며 구글링을 해보니,,
https://stackoverflow.com/questions/68539790/configuring-asciidoctor-when-using-spring-restdoc
에서 해답을 찾았다.
Gradle 6.x로 버전을 낮추거나 Asciidoctor 플러그인을 최신 버전으로 하라는 것이였다.
저 질문을 했던 분께서는 Gradle 버전을 낮추어 해결했다고 하여 내가 예전에 성공했었던 파일을 다시 열어보고 비교해보니,
오류가 난 지금의 Gradle 버전은 7.1.1 / 성공했던 파일에서의 Gradle은 6.9 였다.
gradlew wrapper --gradle-version 6.9
이 명령을 Terminal에 적어 Gradle 버전을 낮추어주었다. gradle - gradle-wrapper.properties에서 버전을 확인해볼 수 있다.
후에 다시 build를 해주고 실행해주면 static에 문서가 잘 생성되었다.!