[IntelliJ] Test 에러 FAILURE: Build failed with an exception. 'error: cannot find symbol'
Programming/Error Log

[IntelliJ] Test 에러 FAILURE: Build failed with an exception. 'error: cannot find symbol'

728x90
반응형

인텔리제이를 사용하다가 Gradle Test를 진행했는데 개별로 테스트를 했을 땐 나지 않았던 에러가 빵빵! 나타났다.

Gradle에서 위의 경로의 test를 더블 클릭하여 테스트를 진행하였다

Testing started at 오후 8:14 ...
Starting Gradle Daemon...
Gradle Daemon started in 2 s 780 ms


> Task :compileJava
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\CustomOAuth2UserService.java:43: error: cannot find symbol
                attributes.getAttributes(),
                          ^
  symbol:   method getAttributes()
  location: variable attributes of type OAuthAttributes
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\CustomOAuth2UserService.java:44: error: cannot find symbol
                attributes.getNameAttributeKey()
                          ^
  symbol:   method getNameAttributeKey()
  location: variable attributes of type OAuthAttributes
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\CustomOAuth2UserService.java:50: error: cannot find symbol
        User user = userRepository.findByEmail(attributes.getEmail())
                                                         ^
  symbol:   method getEmail()
  location: variable attributes of type OAuthAttributes
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\CustomOAuth2UserService.java:51: error: cannot find symbol
                .map(entity -> entity.update(attributes.getName(), attributes.getPicture()))
                                                       ^
  symbol:   method getName()
  location: variable user of type User
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\dto\SessionUser.java:17: error: cannot find symbol
        this.email = user.getEmail();
                         ^
  symbol:   method getEmail()
  location: variable user of type User
D:\Project\webservice\src\main\java\com\yjin\fws\webservice\web\IndexController.java:29: error: cannot find symbol
            model.addAttribute("userName", user.getName());
                                               ^
  symbol:   method getName()
  location: variable user of type SessionUser
Note: D:\Project\webservice\src\main\java\com\yjin\fws\webservice\config\auth\dto\OAuthAttributes.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
28 errors

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
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.

BUILD FAILED in 16s
1 actionable task: 1 executed

에러 메시지의 일부만 보게 되면
cannot find symbol 에러라며 주로 . 위치에서 에러가 나있다.

해결 방법

Gradle의 버전이 5점대였는데 4점대로 낮춰주었다. 

프로젝트 폴더에서 [gradle]-[wrapper]-[gradle-wapper.properties]에 가면 gradle 버전을 확인할 수 있다.

인텔리제이의 Terminal 에서는 명령어를 입력할 수 있다. 여기에 

gradlew wrapper --gradle-version 4.10.2

위 명령어를 입력하면 gradle 버전이 변경된다.

변경 후 다시 테스트를 수행하였다. 다행히 오류 없이 테스트 성공했다.

728x90
반응형