인텔리제이는 소스코드를 컴파일한 후에 프로젝트의 빌드선언에 따라서 의존성을 클래스패스 classpath 로 추가하여 실행시킨다. 그래서 스프링부트와 관련해서 build.gradle에서 providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 가 선언되어 있으면 스프링부트 앱을 실행시킬 때 클래스패스 상에서 내장 컨테이너를 제외한다. 그래서 실제로 인텔리제이상에서 providedRuntime 을 선언해두면

/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -Dspring.output.ansi.enabled=always -Didea.launcher.port=7540 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "... 의존성 라이브러리들 선언...(providedRuntime 선언과 관련된 것은 제외 )" com.intellij.rt.execution.application.AppMain {내 앱}

으로 실행되면서 실행안된다.

이클립스는 소스코드만 컴파일하고 실행에 필요한 클래스패스는 빌드경로buildpath 기준으로 잡기 때문에 무리없이 실행된다.

이 두 IDE 의 차이를 이제야 이해했다. @_@)>


인텔리제이 아이디어 IntelliJ IDEA 12를 구매하고 사용하지 않다가, 문득 생각이 나서 설치를 했다. 그런데 프로젝트 타이틀의 글씨들이 깨지는(안티앨리어싱이 적용되지 않아 글씨가 단계지어 나타나는) 현상이 보여서 이를 해결하려고 찾아봤다.

File - Setting - Editor - Appearance 에서 'Use anti-aliased font' 를 체크하면 된다고 하기에 해봤는데 안된다. 

그래서 혹시나 하고 찾아보니, 별도의 idea.vmoptions 라는 파일을 손봐야 한다는 글을 발견했다.


* 참고문헌 : 

    * http://helols.tistory.com/304

    * http://devnet.jetbrains.com/message/5277587?tstart=0

    * http://stackoverflow.com/questions/8691088/change-font-into-intellij-10-11    <-- 요놈 보고 정리


* 사용 운영체제 : Ubuntu 12.04 64bit

* IntelliIDEA 설치위치 : /develop/intelli-idea-12

* 안티앨리어싱 관련 설정파일 위치 : /develop/intelli-idea-12/bin

    * 32bit 설정파일 : idea.vmoptions 

    * 64bit 설정파일 : idea64.vmoptions

* 추가할 항목 : 

-Dawt.useSystemAAFontSettings=on


  IntelliJ IDEA가 Java AWT의 환경설정을 따르면서 나타나는 현상으로, VM 실행옵션으로 -Dawt.useSystemAAFontSettings을 주어서 UI단에서 안티앨리어싱(높은 해상도의 폰트를 화면에 불러올 때 나타나는 깨진 패턴을 완화시키기 위해 사용)을 동작시키는 시스템 프로퍼티값을 주었다. 다양한 옵션이 있는데, 간단하게 'on'으로만 처리했다.


* awt.useSystemAAFontSettings 관련 설명

    * http://docs.oracle.com/javase/6/docs/technotes/guides/2d/flags.html#aaFonts

+ Recent posts