티스토리 뷰

저는 Tajo 프로젝트의 IDE로 IntelliJ를 사용하고 있습니다.


그런데 얼마 전 멀정하게 동작하던 IntelliJ에서 다음과 같이 패키지 임포트 부분에 엑박이 나타나면서,

" Cannot find Symbol "이라는 오류 메세지가 출력됐습니다. ;;





몇 번이나 빌드를 다시하고, maven re-import까지 다시 시도했는데 같은 현상이 나왔습니다.

대부분의 오류는 임포트를 다시하면 해결되는데, 여전히 같은 증상이 재현됐습니다. --;;


그런데 이상한 점은 콘솔창에서는 “mvn clean install”이 제대로 동작하는 것이었습니다.


몇 번의 삽질과 구글링끝에 알게 된 원인은 바로 Protocol Buffer(이하: PB)에서 generation한 코드였습니다.


Tajo는 내부 RPC 통신을 위해서 PB를 사용합니다. PB의 규약에 맞게 프로토콜 파일을 정의하면, PB가 이를 컴파일하여 자바 코드로 생성해줍니다. 프로토콜 규칙도 복잡하지 않아서 사용하기가 참 쉬운 RPC 라이브러리인데요.


문제는 최근 수정된 프로토콜 파일로 생성된 자바 코드 사이즈가 엄청나게 길었던 것이었습니다. 알고 보니 IntelliJ는 설정값에 따라서 읽을 수 있는 자바 코드 사이즈 제한이 있었고, 저는 기본값으로 사용하고 있어서, 해당 코드를 읽을 수 없던 것입니다.


아래 스샷의 PlanProto 클래스는 PB에서 생성된 코드인데요. 코드 상단에 "File size exceeds configured limit (2560000). Code insight features are not available. " 이라는 메세지가 코드 사이즈 제한을 초과했다는것을 나타냅니다.




해결 방법은 무척 간단합니다. 아래와 같이 IntelliJ 설정 파일의 XXX 값을 수정하고, IntelliJ를 재실행하면 됩니다. 


- 경로: /Applications/IntelliJ IDEA 14.app/Contents/bin (맥북 기준)

- 파일명: idea.properties

- 수정 사항idea.max.intellisense.filesize=25000

                (기본값은 2500으로 설정되어 있습니다.)


개발자가 직접 작성한 자바 코드 사이즈가 2백5십6만바이트까지 가는 경우는 드문 경우이겠지만, RPC 라이브러리를 사용하고 있는 프로젝트라면 한번 쯤 IntelliJ 설정을 점검하는 것도 좋을 것 같습니다. :-)


* 참고 사이트:  http://scnakandala.blogspot.kr/2015/01/file-size-exceeds-configured-limit_30.html

저작자 표시 비영리 변경 금지
신고
댓글
댓글쓰기 폼