요즘 XML 설정이 복잡한 메이븐Maven(http://maven.apache.org/) 대신 그레들Gradle(http://www.gradle.org/)이 사람들의 많은 관심을 받고 있다. 그루비Groovy를 바탕으로 하는 자동화 배포툴이라고 할 수 있으려나? 설정이 간략화되는 것에 대해서 높은 점수를 받고 있는 것으로 보인다. 그루비를 배워야 하나? ㅡ0-)?

안드로이드 배포툴도 그레들로 나오기 시작하던데...


우분투에서 Gradle 설치를 위한 명령어는 간단하다.

    $ sudo apt-get install gradle

honeymon@honeymon-ubuntu:~$ sudo apt-get install gradle

[sudo] password for honeymon: 

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다       

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  ant ant-optional antlr aspectj binfmt-support bnd bsh bsh-gcj checkstyle

  default-jdk default-jre default-jre-headless eclipse-jdt eclipse-pde

  eclipse-platform eclipse-platform-data eclipse-rcp fastjar fop gcj-4.6-base

  gcj-4.6-jre-lib groovy ivy jarwrapper junit junit4 libantlr-java

  libapache-pom-java libapr1 libaprutil1 libasm3-java libaspectj-java

  libavalon-framework-java libbatik-java libbindex-java libbonoboui2-0

  libbonoboui2-common libbsf-java libclassworlds-java libcodenarc-groovy-java

  libcommons-beanutils-java libcommons-cli-java libcommons-collections3-java

  libcommons-compress-java libcommons-configuration-java libcommons-dbcp-java

  libcommons-digester-java libcommons-el-java libcommons-httpclient-java

  libcommons-io-java libcommons-jexl-java libcommons-jxpath-java

  libcommons-lang-java libcommons-logging-java libcommons-net2-java

  libcommons-parent-java libcommons-pool-java libcommons-vfs-java libdb-java

  libdb-je-java libdb4.8 libdb5.1-java libdb5.1-java-gcj libdoxia-java

  libeasymock-java libecj-java libequinox-osgi-java libfop-java

  libganymed-ssh2-java libgcj-bc libgcj-common libgcj12

  libgeronimo-jpa-2.0-spec-java libgeronimo-jta-1.1-spec-java

  libgeronimo-osgi-support-java libglade2-0 libgmetrics-groovy-java

  libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0 libgnomeui-common

  libgnuinet-java libgnujaf-java libgnumail-java libgoogle-collections-java

  libgradle-announce-java libgradle-antlr-java libgradle-code-quality-java

  libgradle-core-java libgradle-ide-java libgradle-jetty-java

  libgradle-maven-java libgradle-osgi-java libgradle-plugins-java

  libgradle-scala-java libgradle-wrapper-java libhamcrest-java

  libhawtjni-runtime-java libhttpclient-java libhttpcore-java

  libicu4j-4.4-java libicu4j-java libitext1-java libjansi-java

  libjansi-native-java libjasper-java libjetty-extra libjetty-extra-java

  libjetty-java libjline-java libjna-java libjna-posix-java libjoptsimple-java

  libjsch-java libjsoup-java libjsr305-java libjtidy-java libjzlib-java

  liblogback-java liblucene2-java libmaven-ant-tasks-java libmaven-scm-java

  libmaven2-core-java libmockobjects-java libmodello-java libmx4j-java

  libnetbeans-cvsclient-java libosgi-compendium-java libosgi-core-java

  libosgi-foundation-ee-java libplexus-ant-factory-java

  libplexus-archiver-java libplexus-bsh-factory-java libplexus-build-api-java

  libplexus-cipher-java libplexus-classworlds-java

  libplexus-component-api-java libplexus-container-default-java

  libplexus-containers-java libplexus-i18n-java

  libplexus-interactivity-api-java libplexus-interpolation-java

  libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils-java

  libregexp-java librhino-java libsaxon-java libservlet2.4-java libslf4j-java

  libsvn-java libsvn1 libsvnkit-java libswt-cairo-gtk-3-jni

  libswt-glx-gtk-3-jni libswt-gnome-gtk-3-jni libswt-gtk-3-java

  libswt-gtk-3-jni libswt-webkit-gtk-3-jni libtomcat6-java

  libtrilead-ssh2-java libwagon-java libxbean-java libxmlgraphics-commons-java

  libxstream-java openjdk-6-jdk rhino sat4j testng

제안하는 패키지:

  ant-gcj ant-doc liboro-java jython libjdepend-java libcommons-net-java

  javacc ant-optional-gcj bsh-doc eclipse fop-doc groovy-doc libbcprov-java

  libbcpg-java ivy-doc junit-doc libavalon-framework-java-doc

  libclassworlds-java-doc libcodenarc-groovy-java-doc

  libcommons-beanutils-java-doc libcommons-collections3-java-doc

  libgeronimo-jta-1.0.1b-spec-java libcommons-digester-java-doc

  libcommons-httpclient-java-doc libcommons-io-java-doc

  libcommons-jxpath-java-doc libcommons-logging-java-doc

  libexcalibur-logkit-java libcommons-net2-java-doc libcommons-vfs-java-doc

  libdoxia-java-doc libeasymock-java-doc ecj libecj-java-gcj libgcj12-dbg

  libgcj12-awt libgeronimo-jpa-2.0-spec-java-doc libgeronimo-jta-java-doc

  libgeronimo-osgi-support-java-doc libgmetrics-groovy-java-doc

  libgnumail-java-doc gradle-doc maven2 scala jetty libjetty-java-doc

  libjline-java-doc libjna-java-doc libjsoup-java-doc libjsr305-java-doc

  libjtidy-java-doc glassfish-javaee janino libmaven-scm-java-doc

  libmodello-java-doc libhessian-java libosgi-compendium-java-doc

  libosgi-core-java-doc libosgi-foundation-ee-java-doc

  libplexus-build-api-java-doc libplexus-cipher-java-doc

  libplexus-classworlds-java-doc libplexus-component-api-java-doc

  libplexus-container-default-java-doc libplexus-i18n-java-doc

  libplexus-interactivity-api-java-doc libplexus-interpolation-java-doc

  libplexus-sec-dispatcher-java-doc libplexus-utils-java-doc libsaxon-java-doc

  libswt-gtk-3-java-gcj tomcat6 libwagon-java-doc libspring-core-java

  libspring-beans-java libspring-context-java libspring-web-java

  libjoda-time-java libstax-java libcglib2.1-java libjettison-java

  openjdk-6-demo openjdk-6-source visualvm librhino-java-doc testng-doc

다음 새 패키지를 설치할 것입니다:

  ant ant-optional antlr aspectj binfmt-support bnd bsh bsh-gcj checkstyle

  default-jdk default-jre default-jre-headless eclipse-jdt eclipse-pde

  eclipse-platform eclipse-platform-data eclipse-rcp fastjar fop gcj-4.6-base

  gcj-4.6-jre-lib gradle groovy ivy jarwrapper junit junit4 libantlr-java

  libapache-pom-java libapr1 libaprutil1 libasm3-java libaspectj-java

  libavalon-framework-java libbatik-java libbindex-java libbonoboui2-0

  libbonoboui2-common libbsf-java libclassworlds-java libcodenarc-groovy-java

  libcommons-beanutils-java libcommons-cli-java libcommons-collections3-java

  libcommons-compress-java libcommons-configuration-java libcommons-dbcp-java

  libcommons-digester-java libcommons-el-java libcommons-httpclient-java

  libcommons-io-java libcommons-jexl-java libcommons-jxpath-java

  libcommons-lang-java libcommons-logging-java libcommons-net2-java

  libcommons-parent-java libcommons-pool-java libcommons-vfs-java libdb-java

  libdb-je-java libdb4.8 libdb5.1-java libdb5.1-java-gcj libdoxia-java

  libeasymock-java libecj-java libequinox-osgi-java libfop-java

  libganymed-ssh2-java libgcj-bc libgcj-common libgcj12

  libgeronimo-jpa-2.0-spec-java libgeronimo-jta-1.1-spec-java

  libgeronimo-osgi-support-java libglade2-0 libgmetrics-groovy-java

  libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0 libgnomeui-common

  libgnuinet-java libgnujaf-java libgnumail-java libgoogle-collections-java

  libgradle-announce-java libgradle-antlr-java libgradle-code-quality-java

  libgradle-core-java libgradle-ide-java libgradle-jetty-java

  libgradle-maven-java libgradle-osgi-java libgradle-plugins-java

  libgradle-scala-java libgradle-wrapper-java libhamcrest-java

  libhawtjni-runtime-java libhttpclient-java libhttpcore-java

  libicu4j-4.4-java libicu4j-java libitext1-java libjansi-java

  libjansi-native-java libjasper-java libjetty-extra libjetty-extra-java

  libjetty-java libjline-java libjna-java libjna-posix-java libjoptsimple-java

  libjsch-java libjsoup-java libjsr305-java libjtidy-java libjzlib-java

  liblogback-java liblucene2-java libmaven-ant-tasks-java libmaven-scm-java

  libmaven2-core-java libmockobjects-java libmodello-java libmx4j-java

  libnetbeans-cvsclient-java libosgi-compendium-java libosgi-core-java

  libosgi-foundation-ee-java libplexus-ant-factory-java

  libplexus-archiver-java libplexus-bsh-factory-java libplexus-build-api-java

  libplexus-cipher-java libplexus-classworlds-java

  libplexus-component-api-java libplexus-container-default-java

  libplexus-containers-java libplexus-i18n-java

  libplexus-interactivity-api-java libplexus-interpolation-java

  libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils-java

  libregexp-java librhino-java libsaxon-java libservlet2.4-java libslf4j-java

  libsvn-java libsvn1 libsvnkit-java libswt-cairo-gtk-3-jni

  libswt-glx-gtk-3-jni libswt-gnome-gtk-3-jni libswt-gtk-3-java

  libswt-gtk-3-jni libswt-webkit-gtk-3-jni libtomcat6-java

  libtrilead-ssh2-java libwagon-java libxbean-java libxmlgraphics-commons-java

  libxstream-java openjdk-6-jdk rhino sat4j testng

0개 업그레이드, 170개 새로 설치, 0개 제거 및 5개 업그레이드 안 함.

279 M바이트 아카이브를 받아야 합니다.

이 작업 후 407 M바이트의 디스크 공간을 더 사용하게 됩니다.

계속 하시겠습니까 [Y/n]?


관련해서 설치해야하는 gradle이 억수로 많네~ ㅡ0-)>


   설치 확인!  
 

honeymon@honeymon-ubuntu:~$ gradle

:help

Welcome to Gradle 1.0-milestone-3.

To run a build, run gradle <task> ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

BUILD SUCCESSFUL

Total time: 1.615 secs

honeymon@honeymon-ubuntu:~$


 

그레들 버전 확인

 

$ gradle -v

honeymon@honeymon-ubuntu:~$ gradle -v

------------------------------------------------------------

Gradle 1.0-milestone-3

------------------------------------------------------------

Gradle build time: Thursday, September 8, 2011 4:06:52 PM UTC

Groovy: 1.8.6

Ant: Apache Ant(TM) version 1.8.2 compiled on December 3 2011

Ivy: non official version

JVM: 1.6.0_27 (Sun Microsystems Inc. 20.0-b12)

OS: Linux 3.5.0-25-generic amd64

honeymon@honeymon-ubuntu:~$ 


 

 그레들 설치 위치  

 

/usr/share/gradle


 

 참고사이트

 

* 손권남님의 위키 : http://wiki.kwonnam.pe.kr/gradle

* Gradle/lean :http://www.gradle.org/learn



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


 

 문제원인  

 

WORKSPACE_LOC/spring-mvc-study/src/test/java 폴더가 없어서 나타나는 문제

종종 Java Project를 import 해서 properties 를 확인하다가 보면 상단에

'Build path entry is missing:'

라는 메시지가 보이는 경우가 있다.



 

 해결방법  

 

WORKSPACE_LOC/spring-mvc-study/src/test/java  폴더를 생성하면 된다.

프로젝트를 다시읽고Refresh 확인해보면 경고문구가 사라지는 것이 확인된다.


메이븐Maven을 사용할 때, 프로젝트에서 의존성을 가지는 라이브러리들을 검색하는 사이트로 이전까지는

http://mvnrepository.com

그런데, 다른 개발자(@awran)가 또다른 검색 사이트를 찾아냈다.

http://search.maven.org/

이전까지 사용하던 http://mvnrepository.com 에는 이런저런 광고가 붙어있어서, 사용하면서도 긴가민가했는데, http://search.maven.org/ 의 모습을 보고 하단에 있는 Apache Software Fundation 을 보니까 '이 녀석이 진퉁이구나' 싶었다.

궁금증이 생겼다.

내가 왜 http://mvnrepository.com 를 사용하기 시작했을까?

어디선가 여기서 검색하라고 본 것 같은데... 하고 찾아봤다. +_+)

찾았다.


메이븐

저자
박재성 지음
출판사
한빛미디어 | 2011-03-21 출간
카테고리
컴퓨터/IT
책소개
실제 프로젝트로 학습하는 생생한 메이븐 활용 전략!『메이븐』은 ...
가격비교 글쓴이 평점  

여기에 나와있다. +_+) 100페이지에!

주변의 개발자들이 "인텔리j, 인텔리j"노래를 부르기에 한번 써볼까 하는 마음에 다운로드를 받아본다.

IntelliJ IDEA : http://www.jetbrains.com/idea/

현재 버전은 아래 그림에서 보다시피 IntelliJ IDEA 12 버전이다.

가격은 보는 것과 같다. 개인으로 구매하려 하면 근 $200 달러. 지난번에 25% 할인행사가 있었는데 필리핀에 있느라 구매를 못한 아쉬움이 있다.

개인적으로 사용해볼 목적으로는 Community Edition을 다운로드 받아서 실행해봐도 무리는 없을 듯 하다. 써보고 좋으면, 사는거지.


<설치화면>


+ Recent posts