Friday, April 23, 2010

Flex Builder: An internal build error has occurred.


엊그제 열심히 Flex 코딩을 하고 있는데 갑자기 나타난 이 녀석.

An internal build error has occurred.

도대체 뭔가 싶어서 몇번이나 Project Clean을 시켜도 없어지질 않는다.
에러가 난 위치에 대한 정보는 전혀 없고 Project 위치만을 알려 줄 뿐이다.
당최 난감해하면 인터넷 검색을 해보았다.

몇몇 한국어 블로그에선 Flex Complier가 제대로 Syntax 에러를 잡아주지 못하는 경우에 발생한다고들 한다. 예를 들자면 아래와 같은 내용이었다.

switch(value) {
// Just blank in there.
}

이 내용을 바탕으로 인간 컴파일러 가동... -_-;;
2시간을 넘게 몇몇 Syntax 에러를 찾아내긴 했지만 전혀 해당 사항이 없었다.

결국 다시 구글링으로...
해외 사이트를 통해서 이 에러에 대해서 자세히 소개된 문건이 있었는데 아래에 소개한다.


녀석이 소개한 내용을 약간만 번역하자면... 세상에 이런 엿같은 Error Description은 첨 본다고 한다. 물론 나도 동의하는 바다.
원인을 4가지 정도 서술해 놓았는데 아래와 같다.

  • 위에서 언급한 한국 블로거가 말한 Case 였다. Switch 문을 주석처리할 때 내부만 처리하고 Switch 문을 그대로 둘 경우 발생한다고 한다. 반드시 Switch 문을 주석 처리할 때는 전체 구문을 통째로 처리하라고 언급하고 있다.
  • 좀 더 어이없고 황당한 경우이다. Debug Session이 죽지 않는 경우이다. Rebuild, Clean 이 수행되지 않으며 해당 Swf 파일이 삭제 되지도 않는다. 작업 관리자에서 adl.exe Processer를 죽이면 된다고 한다.
  • Project 내에 설정 파일 .project, .actionscript 에 제대로 Update 되지 않은 경우이다. Project를 삭제하고 새 Project에 기존 내용을 모두 옮겨 넣으면 문제가 해결된다고는 한다. 나에게 발생한 문제가 이 경우였는데 실제로 굳이 Project를 지우고 새로 만들 필요는 없었다. .project, .actionscript 파일을 문제가 되는 부분만 찾아서 고치니까 해결되었다.
  • 이 경우는 한국 블로그에서 많이 보았는데 일반적인 Syntax 에러에서도 발생할 수 있다는 것이었다. 자질구레한 Syntax 에러를 Complier가 제대로 못찾아 준다고 생각하니 왠지 Flex로 작업하기가 싫어진다.

문제를 해결하고 보니까 나의 에러 원인은 Class Refactor 기능이었다. 이 기능이 Refactor된 Class에 대한 정보를 .actionscript 파일에 제대로 Update 해주지 못한 것이다. 줸장;; 다신 Refactor 기능 쓰면 안되겠다...

어쨋든 에러 관련하여 Adobe에서는 전혀 도움되지 않는 페이지만 링크 해줄 뿐 아무런 지원이 없는 듯 하다... 위와 같은 Case로도 해결되지 않는다면 Flex Builder log를 한번 확인해보는 것도 문제해결에 도움은 될듯하다.
그 외에도 이상한 말들이 많았던거 같다. 어떤이는 3.2로 SDK를 업그레이드 하니까 괜찮더라는 등등... (참고로 나는 원래부터 3.2 SDK 였다. -_-;)

갑자기 스티브 잡스가 했던 말이 생각난다.
(Adobe의 기술을 지원할 의향이 없다고 말했던 기자회견)

"Flash 같은 쓰레기 코드를 아이팟에 탑재할 생각이 없다. 대부분의 MAC 컴퓨터에서 생기는 문제는 Flash Code로 인한 것들이었다."

이런 감정적인 발언에 공감하게 만들지 말란 말이다! -_-;;;


- Fin


No comments:

Post a Comment

주사위 놀이

Busan city, South Korea
All about programming knowledge such as Java, Flex and Oracle DB Management.

Followers