VS code 환경 세팅 (정리중) - LENATeam/bom-project GitHub Wiki

  1. 참고 : https://github.com/LENATeam/spring-6-recipes

  2. java19

    1. java19 설치

    2. 환경변수 설정 (환경설정)

      JAVA_HOME = C:\Program Files\Java\jdk-17.0.4.1 (새로만들기)
      CLASSPATH = %JAVA_HOME%\lib (새로만들기)
      Path = %JAVA_HOME%\bin (기존 Path에 편집 > 추가 후 맨위로 이동)
      
  3. vscode 설치 : vscode download

    1. extension 설치

      Untitled (1)

      • https://spring.io/tools
        • Spring Boot Extension Pack

          Untitled (2)

        • (설치 안함 ) Lombok Annotations Support for VS Code ?? 필요 없을 듯 : Java 라이브러리로 반복되는 gettersettertoString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리

    2. download git for windows

      Untitled (6)

    3. clone Repository 클릭 > GitHub의 repository 주소 입력후 엔터 > local repository 될 곳을 선택

  4. 아래와 같이 이슈 발생

    Untitled (7)

    1. gradle 버전 7.6

      Untitled (8)

  5. gradle installed (or use the Gradle Wrapper shipped with the project) 참고 : https://velog.io/@kjyeon1101/Spring-VScode-Gradle-환경-설정하기

    1. 실패) project 내에 있는 ./gradlew 으로 설치

      Untitled (9)

    2. 실패) 또는 VScode에서 ctrl+j 로 터미널을 열어서 ./gradle.bat 실행

    Untitled (10)

    1. https://gradle.org/releases/ 에서 7.6.2 다운

      Untitled (11)

      1. C:\gradle\gradle-7.6.2 에 압축 해제

      2. 환경변수 설정

        1. path에 gradle 설치 경로 추가 > C:\gradle\gradle-7.6.2\bin

        Untitled (12)

      3. 재부팅 후 gradle -v" 명령어를 입력하여 정상적으로 설치 확인 (CMD)

        Untitled (13)

      4. 현상 동일

        Untitled (14)

      5. vscode build 메뉴얼

      6. Gradle for Java vscode extension 설치

        Untitled (15)

      7. terminal에서 아래 명령어 실행 (windows)

        Untitled (16)

      8. .\gradlew.bat >> 에러

      9. .\gradlew.bat build >> 에러 발생

        PS D:\spring\spring-6-recipes> .\gradlew.bat build

        FAILURE: Build failed with an exception.

        • What went wrong: A problem occurred configuring project ':D:\spring\spring-6-recipes\ch01\recipe_1_10_i'.

        The project name '\spring\spring-6-recipes\ch01\recipe_1_10_i' must not contain any of the following characters: [/, , :, <, >, ", ?, *, |]. Set the 'rootProject.name' or adjust the 'include' statement (see https://docs.gradle.org/7.6/dsl/org.gradle.api.initialization.Settings.html#org.gradle.api.initialization.Settings:include(java.lang.String[]) for more details).

        • Try:

        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

        BUILD FAILED in 1s

      10. 아래 와 같이 settings.gradle 에 getProjectName(String dir) 을 변경 ( windows)

        https://github.com/Apress/spring-6-recipes/issues/1

        def getProjectName(String dir) {
            return (dir - (rootDir.toString() + "/")).replaceAll("/", ":")
        }
        
        def getProjectName(String dir) {
        def projName = (dir - (rootDir.toString() + "/")).replaceAll('/', ':')
        if ( projName.equals(dir) ) {
        	projName = (dir - (rootDir.toString() + "\\")).replaceAll('\\\\', ':')
        }
        	return projName
        }
        
      11. .\gradlew.bat >> 성공

      12. .\gradlew.bat build >> 에러 발생
        - 소스 문제 인듯 확인 필요

        Task :ch03:recipe_3_2_i:compileJava FAILED D:\spring\spring-6-recipes\ch03\recipe_3_2_i\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:3: error: package com.apress.spring6recipes.reactive.court.web.config does not exist import com.apress.spring6recipes.reactive.court.web.config.CourtRestConfiguration; ^ D:\spring\spring-6-recipes\ch03\recipe_3_2_i\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:15: error: cannot find symbol return new Class<?>[] { CourtRestConfiguration.class }; ^ symbol: class CourtRestConfiguration location: class CourtRestApplicationInitializer 2 errors

        Task :ch03:recipe_3_1_v:compileJava FAILED

        D:\spring\spring-6-recipes\ch03\recipe_3_1_v\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:3: error: package com.apress.spring6recipes.reactive.court.web.config does not exist

        import com.apress.spring6recipes.reactive.court.web.config.CourtRestConfiguration; ^ D:\spring\spring-6-recipes\ch03\recipe_3_1_v\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:15: error: cannot find symbol return new Class<?>[] { CourtRestConfiguration.class }; ^ symbol: class CourtRestConfiguration location: class CourtRestApplicationInitializer 2 errors

        Task :ch03:recipe_3_1_vi:compileJava FAILED D:\spring\spring-6-recipes\ch03\recipe_3_1_vi\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:3: error: package com.apress.spring6recipes.reactive.court.web.config does not exist import com.apress.spring6recipes.reactive.court.web.config.CourtRestConfiguration; ^ D:\spring\spring-6-recipes\ch03\recipe_3_1_vi\src\main\java\com\apress\spring6recipes\reactive\court\web\CourtRestApplicationInitializer.java:15: error: cannot find symbol return new Class<?>[] { CourtRestConfiguration.class }; ^ symbol: class CourtRestConfiguration location: class CourtRestApplicationInitializer 2 errors

        FAILURE: Build completed with 3 failures.

       - 오류나는 부분 대부분 참조 관련 에러 (recipes와 비교 및 소스 수정하면 없어짐)
      
  6. build 후 run

    • 마우스 우클릭 또는 우측 상단

      Untitled (17)

      Untitled (18)

    • 결과

      Untitled (19)

  • vscode extension list

    • Spring Boot Extension Pack (필수)

      Untitled (20)

    • Gradle for Java (필수)

      Untitled (21)

    • Language Support for Java(TM) by Red Hat (어쩌다 보니 설치된…)

    • Debugger for Java (어쩌다 보니 설치된…)