전체 방문자
오늘
어제
모달조아
Better than yesterday
모달조아
  • 분류 전체보기 (147)
    • PS (86)
      • BOJ (79)
      • 프로그래머스 (6)
    • 이론 (41)
      • 자료구조 (2)
      • 알고리즘 (8)
      • 데이터베이스 (1)
      • 운영체제 (1)
      • 네트워크 (3)
      • 디자인패턴 (7)
      • Java (13)
      • Spring (4)
      • JPA (1)
      • Git (1)
    • 개발 (18)
    • 프로젝트 (1)
    • 기록 (0)
      • 후기 (0)
    • etc (1)

최근 글

티스토리

hELLO · Designed By 정상우.
모달조아

Better than yesterday

[Spring REST Docs] 빌드 시 HTML 이 생성되지 않을 때
개발

[Spring REST Docs] 빌드 시 HTML 이 생성되지 않을 때

2023. 7. 22. 04:59

개요

프로젝트에서 Spring REST Docs 를 이용하여 API 문서를 만들었다.

빌드 시 adoc 파일을 바탕으로 HTML 파일을 생성하고 싶어 Spring REST Docs 공식 문서 (2.0.7.RELEASE 사용) 를 참고하였는데, 빌드를 하여도 HTML 파일이 생성되지 않는 문제가 발생했다.

결론부터 말하자면 adoc 파일을 바탕으로 빌드 시 생성되는 HTML 파일의 위치가 가 공식 문서에 나온 것과는 다른 것이 원인이었다.

 

원인

 

위의 공식 문서를 보면 src/docs/asciidoc 하위에 adoc 파일을 두었을 때, 그래들로 빌드 시 build/asciidoc/html5 하위에 html 이 생성된다.

 

 

이를 바탕으로 HTML 문서를 jar 에 패키징하려면 위와 같이 build.gradle 에 작성하면 된다. 코드는 ${asciidoctor.outputDir}/html5 에 있는 파일을 jar 패키징 전에 static/docs 에도 두도록 하는 스크립트이다. 여기서 ${asciidoctor.outputDir} 는 위에서 봤듯이 build/asciidoc 이다. 

그런데, 나는 빌드를 몇 번이고 clean 하고 다시 해도 static/docs 에 HTML 파일이 생성되지 않았다. 빌드 시에 adoc 을 바탕으로 생성되는 HTML 파일의 위치도 공식 문서와는 달랐다.

이걸 확인하고 난 후에 ${asciidoctor.outputDir} 아래와 같이 찍어보니,

bootJar {
    dependsOn asciidoctor
    println("start bootJar")
    println("${asciidoctor.outputDir}")
    copy {
        from("${asciidoctor.outputDir}")
        into 'src/main/resources/static/docs'
    }
}

${asciidoctor.outputDir} 가 공식문서와는 달랐다.

이를 확인하고 build.gradle 의 bootJar 코드를 아래와 같이 수정하니 정상적으로 HTML 파일이 static/docs 하위에 생성되었다.

bootJar {
    dependsOn asciidoctor
    copy {
        from("${asciidoctor.outputDir}")
        into 'src/main/resources/static/docs'
    }
}
저작자표시 (새창열림)

'개발' 카테고리의 다른 글

좋아요/싫어요 수 조회 성능 개선 과정  (0) 2023.08.14
JPQL 로 Pageable 객체 사용 시 주의할 점  (0) 2023.07.11
도커 컨테이너 로그 설정하기  (0) 2023.06.14
AWS EC2 메모리 부족을 스왑 메모리로 해결하기  (2) 2023.06.12
Github actions, Docker image, Docker hub 를 활용한 CI/CD 과정  (0) 2023.06.01
    '개발' 카테고리의 다른 글
    • 좋아요/싫어요 수 조회 성능 개선 과정
    • JPQL 로 Pageable 객체 사용 시 주의할 점
    • 도커 컨테이너 로그 설정하기
    • AWS EC2 메모리 부족을 스왑 메모리로 해결하기
    모달조아
    모달조아

    티스토리툴바