꽤 오래전인데, 아틀라시안의 개발자들이 올리는 글에 나오는 자바소스코드의 캡춰화면이 뭔가 달랐다. 이클립스 같기는 한데 버튼은 동글동글하고 매력적으로 생긴데다, 코드 폰트 또한 윈도우의 투박한 courier-new와는 다르게 뭔가 기품이 있어보였다. 저 이쁜 화면은 무슨 윈도우 테마를 설치한 것일까 하고 한동안 궁금해 했는데, 나중에 알고 보니 바로 맥 OSX에서 작업한 화면이었다.

세계적인 개발자들은 맥에서 자바 개발을 하나보다 하고 생각해오다가, 몇년전 맥북의 출시 소식을 듣고 나도 맥에서 개발을 한번해보자는 생각으로 세일기간을 노려 초기 맥북을 구입했다. 봐도 봐도 기분이 좋은 폼나는 사과 아이콘 하며, 사무실에 슬쩍 꺼내놓기만 해도 다들 몰려와 부러운 눈초리로 바라볼 때의 기분도 짜릿했다. 며칠 안되서 이쁜 것이라면 사족을 못쓰는 물개도 덥석 하나를 사버렸다.

하지만 본격적인 자바개발을 하기 위해서 이런 저런 작업을 하다가 맥의 JDK는 윈도우나 리눅스에서 사용하던 것과 버전이 다른 것을 발견했다. 맥에는 SUN이 개발해서 공개하는 Standard VM이 아닌 Mac VM이 따로 있어 그것을 사용해야 하는데, 문제는 Mac VM/JDK의 버전이 일반 JDK보다 한참 뒤쳐져 있다는 것이다.

JDK1.6이 릴리즈 됐지만 맥의 JDK는 여전이 1.5대. 소문에 OSX 10.5 레오파드가 출시되야 JDK1.6을 사용할 수 있을 것이라는 얘기도 들려왔다. 스프링의 빌드조차 불가능해서 한동안 답답해 하던 차에 레오파드가 출시되었고, 거금을 들여서라도 OSX 업그레이드를 해볼까 생각을 했다. 하지만 많은 맥 환경에서의 자바개발자에게 충격적이게도 레오파드에서도 JDK1.6은 정식으로 출시되지 않았다. 고작 preview만 제공되었고, 더 안좋은 소식은 나처럼 구형 32bit 맥북인 경우 그나마 preview버전도 아예 지원되지 않는다는 사실이었다.

맥에서 자바개발은 포기해야 하나라는 글에서 얘기한 것처럼 사실상 맥을 이용해서 최신버전의 자바기술을 이용한 개발은 거의 포기할 지경이었다. 많은 개발자들이 분노했고, 맥에서 작업을 포기한 사람들 또한 제법 되었다. 애플의 자바관련 직원은 5명도 안된다는 둥, 스티브잡스가 의도적으로 맥에서 자바를 죽이려 한다는 둥의 소문도 들려왔다.

 

자바 개발도 힘들고, 그나마 JDK1.5버전조차도 왠지 불안한 맥에서의 자바 개발 작업은 거의 포기했고, 맥 놀이에도 실증을 느낄무렵부터 한동안 맥북에 우분투를 설치해서 리눅스 머신으로 사용해왔다.

 

그러던 중 어떤 개발자들이 OpenJDK의 BSD버전을 이용해서 맥 JDK를 개발하고 있다는 소식을 듣게 되었다. 하지만  한 개인이 작업해서 과연 제대로된 JDK를 내놓을 수 있을까하는 의심도 들었고, 막상 사이트를 찾아서 설명을 읽어보니 직접 빌드를 해야 한다는데 그 방법도 까다롭고 아주 기초적인 기능만 일단 테스트 되었다고 해서 큰 기대를 하지 않고 있었다.

 

얼마전 "맥에다 리눅스를 설치하는 것은 너무한거 아니냐"고 따지는 주변 사람들의 말에 자극을 받아, 최근에 다시 OSX 타이거버전을 설치했다. 그리고 업데이트를 해봤자 JDK1.5밖에 지원되지 않음을 알고 포기하려던 차에 이전에 보았던 맥용 OpenJDK가 생각이 났다. OpenJDK는 썬이 자바를 GPL 라이센스를 가지는 오픈소스로 공개해서 만들어진 있는 오픈소스 JDK이다. 자바라는 단어는 SUN의 표준 JDK를 위한 이름으로 제한했고 또 트레이드마크라 함부로 쓸 수가 없으니 그 이름은 다르게 사용해야 한다.

이 맥용 OpenJDK의 이름은 Soy Latte이다.

이제는 OpenJDK BSD-Port의 공식 프로젝트의 한 파트로 개발되어지고 있다. 개발자도 많이 늘었고, 소스 뿐만 아니라 각 OSX버전에 대한 바이너리도 함께 제공된다.

다운 받아서 설치하고 버전을 살펴보니 1.6.0_03이다. 1.6버전은 SUN의 표준JDK를 거의 그대로 가져다 만든 것이니 그 호환성도 뛰어날 것이 분명하다. 이클립스를 설치하고 VM을 이 Soy Latte로 바꾸고 1.6코드에 대해서 작업을 해보았다. 아무런 문제없이 1.6의 기능이 동작한다. Java6의 기능을 이용하는 코드가 있는 스프링의 최신버전의 소스를 받아서 빌드해보았는데 역시 아무런 문제가 없이 빌드에 성공했다.

Soy Latte/OpenJDK의 목적은 JDK 1.6버전을 기존 OSX버전에 완벽하게 지원할 뿐더러, Java7도 제때에 릴리즈가 되도록 해서 다른 OS의 개발환경에 밀리지 않고 지속적으로 최신버전의 자바개발을 충실하게 할 수 있도록 지원하는 것이다.

 

이로서 다시 맥에서의 자바 개발에 다시금 희망을 걸어볼 수 있을 것 같다. 32bit 구형 맥이나 OSX 10.4를 사용하는 나같은 개발자도 말이다.

한가지 이슈는 이클립스의 JRE설정에서 OSX는 Standard VM을 설정할 수 없도록 아예 막혀있다. 오로지 Mac VM만이 설정이 가능하다. 이부분에 대해서는 이클립스에 개선요청이 되어있고, OpenJDK/Soy Latte를 Standard VM으로 설정할 수 있는 패치가 공개되어있다. 물론 Soy Latte를 Mac VM으로 등록해도 기본적으로는 아무 문제가 없는 듯 하다. 사실 그 차이점은 정확히 모르겠는데, VM호출시 일부 호환이 안되는 옵션이 있기 때문에 문제가 될 수도 있다는 것이다. 하지만 버그리포트에 나온 ant빌드등에서의 문제는 이클립스 3.4.1을 이용해서 테스트 해보면 별 문제없이 작동한다. 공식적으로는 3.5에서 Standard VM으로 등록이 가능할 것이라고 한다.

 

오픈소스란 이럴 때 큰 매력을 느끼게 해주는 것 같다. 그리고 JDK를 오픈소스로 공개해준 SUN에게도 살짝 고마움을 느낀다.  맥용 JDK를 직접 만들어서 제공해주지 않는 점에는 살짝 아쉬움이 있긴하지만, 그건 뭐 애플의 압력이 있었들 테니까…

Related posts:

  1. 맥에서 자바개발은 포기해야 하나
  2. 유쾌한 이슈처리 재촉 메일
  3. Spring 3.0 (1) 프로젝트 구조와 빌드 시스템의 변화
  4. Spring 3.0 (41) @Deprecated SpringMVC

Facebook comments:

to “가난한 맥 사용자를 위한 JDK – Soy Latte”

  1. Hey admin, very informative blog post! Pleasee continue this awesome work..

  2. This post has been somewhat of a revelation to me.

  3. mbt shoes review 가난한 맥 사용자를 위한 JDK – Soy Latte » Toby’s Epril

  4. mbt stockists 가난한 맥 사용자를 위한 JDK – Soy Latte » Toby’s Epril

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha