🍀 Spring Boot

[Spring] Assiidoctor 오류 [Some problems were found with the configuration of

dmaolon 2021. 8. 2. 20:21

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

Configuring asciidoctor when using Spring Restdoc

I'm adopting Spring Rest Docs and the test successfully created *.adoc files. I made api-guide.doc file in src/docs/asciidoc directory to create html, but when I run asciidoc as a gradle task, it

stackoverflow.com

에서 해답을 찾았다.
 
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에 문서가 잘 생성되었다.!

반응형