인텔리제이는 소스코드를 컴파일한 후에 프로젝트의 빌드선언에 따라서 의존성을 클래스패스 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 의 차이를 이제야 이해했다. @_@)>


'Haskell > Tools' 카테고리의 다른 글

[tool] 인텔리제이와 이클립스의 실행방법 차이  (0) 2016.05.21

인텔리제이 아이디어 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