Spring 프로젝트를 생성하면서 리액트 공부도 조금씩 해볼겸 블로그를 참고하면서 진행하는데 뜻밖의 문제들이 생겨나서
해결 후 간단하게 작성해보고자 한다.
순서대로 진행하는데 아래와 같은 오류가 났다.
에러 메시지를 보면 React 19.0.0을 설치하려고 했지만, @testing-library/react@13.4.0이 react@^18.0.0을 요구하기 때문에 의존성 충돌(ERESOLVE unable to resolve dependency tree)의 문제,
찾아보니 npm 의존성 관리 문제라고 하신다.
npm show react version 를 입력하니 버전이 다르긴 했다.
버전을 업을 위해서
npm install react@latest react-dom@latest 를 입력하여
진행하니 해결이 되었다.
{
"devDependencies": {
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
"@testing-library/user-event": "^14.6.1"
}
}
제대로 업데이트가 되었다.
그후에 ./gradlew build를 하고자 하니
Run this build using a Java 17 or newer JVM.
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
와 같은 문제를 직면 했다.
전 프로젝트에서도 그렇고 jdk17 을 사용을 했었는데
project structure 설정도 그렇고..
setting - build - gradle에도 물론 JDK17 설정이 되어 있었다.
근데 웬걸 java -version 을 확인해보니 JDK11로 되어있다고 나온다
이와 같은 이유는 오래전에 이클립스를 사용하여 공부하면서 JDK11로 환경변수를 설정하여 진행을 했던 적이 있기 때문에 그런 것이다.
그런데 환경변수 설정을 바꾸지 않고
그래서 root 폴더에 gradle.properties 파일을 만들고
org.gradle.java.home=C:/Program Files/Java/jdk-17.0.1
를 설정하여 ./gradlew build가 정상적으로 진행되게 하였습니다.