xce1 Articles

  1. 2007/04/11 ant를 이용한 xce 빌드

수업 시간에 xce를 이용하여 미들릿을 만들어 에뮬레이터에 실행을 해보곤 한다. 음.. 그런데 이 미들릿을 컴파일 하는게 조금 복잡 하다. 어떻게 복잡하냐? 자바 버전은 source 는 1.2로 맞추어야 하고, bootclasspath 도 기존 자바의 것과 다른 xce에서 사용하는 classpath 를 사용하고, 또 이 생성된 class 파일 같은 경우 xce 프로그램이 설치 되어 있는 루트 디렉토리에 있어야 에뮬레이터에서 인식이 잘 된다.

에구에구 뭐가 이렇게 셋팅 해줄께 많은지....

갑자기 문뜩 떠오른 아이디어!!! 자바프로그램을 처음 입문하면서 난 컴파일에 대한 두려움을 하나도 못느끼게 해준 놈이 있다. 바로 ant란 놈이다. 이놈은 컴파일을 할때 path나 그런 설정들을 혹은 ftp접속 파일 삭제 jar파일 생성 같은 것을 일괄적으로 만들어 주는 놈이라 할 수 있다. 그래서 내가 자바 프로그램을 하는 회사에서도 자바 컴파일 버전이나 어떤 라이브러리를 임포트 할지에 대한 것을 자세히 몰라도 컴파일이 알아서 되고, ftp로 원하는 서버에 전송 까지 되는 것이였다.

이놈을 그렇게 힘들게 쓰지는 않더라도, 약간만 수정 한다면 쉽게 컴파일시 쉽게 만들수 있을것 같다는 생각이 문뜩 떠오르고 이렇게 한번 실행을 해보았다.

여기서 xce를 이용한 프로그램 방법은 설명 하지 않겠다.

자바 소스
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorldKbs extends MIDlet{
 
 private Display display;
 private TextBox t;
 
 /**
  * @param display
  */

 public HelloWorldKbs() {
  display = Display.getDisplay(this);
  t = new TextBox("Title", "HelloWorld", 80, 0);
 }
 protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {
  // TODO Auto-generated method stub
 
 }
 protected void pauseApp() {
  // TODO Auto-generated method stub
 
 }
 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  display.setCurrent(t);
 }
}


위의 소스는 이클립스 xce프로젝트를 생성하여 만든 HelloWorld 프로그램 이다. 핸드폰 화면에 텍스트 박스를 넣어서 HelloWorld라는 단어를 출력 하였다.

그리고 아래는 ant를 실행하는 build.xml 파일이다.
<?xml version="1.0"?>
 
<project name="HelloWorld" basedir="." >
 
<property name="src.dir" value="${basedir}/src" />
<property name="classes.dir" value="C:/Program Files/xce/WIPI-JAVA 2.0.2" />
<property name="org.classes.dir" value="${basedir}/classes"/>
<property name="jar.dir" value="c:/Program Files/xce/WIPI-JAVA 2.0.2" />
<property name="bootclasspath.dir" value="C:/Program Files/xce/WIPI-JAVA 2.0.2/classes"/>
 
<target name="compile" >
   <javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.2" bootclasspath="${bootclasspath.dir}/classes.jar"/>
   <javac srcdir="${src.dir}" destdir="${org.classes.dir}" source="1.2" bootclasspath="${bootclasspath.dir}/classes.jar"/>
</target>
<target name="jar" depends="compile">
   <jar jarfile="${jar.dir}/HelloWorld.jar" basedir="${org.classes.dir}" includes="**/*.class" />
</target>
<target name="build" depends="compile">
 <antcall target="compile"/>
 <antcall target="jar"/>
</target>
</project>



User inserted image





위의 파일을 프로젝트의 기본에 build.xml로 만들어 주고, window view의 ant창을 연다음 build.xml파일을 ant창에 드롭 한다.그럼 ant창에서 리스트들이 나오게 되는데, compile 혹은 jar를 선택 그것의 오른쪽 클릭을 하게 되면 Run as -> Ant Build를 하게 되면 일일이 컴파일 하지 않아도 컴파일 되게 되고 jar도 생성 되게 된다.







위의 ant의 기본 path 는  xce를 설치 했을때의 path이다. 센스가 있으신 분은 알아서 변경 하실수 있을 것이다. 이렇게 ant를 사용하면 매번 일일이 컴파일 옵션을 기억하고 있다가 컴파일 하지 않아도 쉽게 빌드 할수 있다. ant의 다른 설정들은 알아서 찾아 보길 바란다.

User inserted image


div>