수업 시간에 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

Java 2007/01/23 22:08

내가 이해한 JAVABEAN

뭐 여러가지 정의도 있겠지만.. 내 나름대로의 이해한것이다. ^^

분명 javabean 은 java + bean 의 합성어일 것이다. ^^ 그렇다면 java야 그렇다고 치고 bean의 뜻은 무엇인가?

bean〔〕 ( been)  n.
1 콩(cf. PEA);잠두;강낭콩
 soy(a) beans 대두, 콩
 French[kidney] beans 강낭콩
 small beans 팥
2 (콩 같은) 열매, 그 나무
 coffee beans 커피 열매
3 《미·속어》 머리
4 [pl.;보통 부정문으로] 《영·속어》 적은 돈
5 [pl.;보통 부정문으로] 《미·속어》 조금, 소량;하찮은  


.............

영어 사전에서의 뜻은 대충 저렇다.. 그렇다면은 javabean이란? 뭐 딱부러지게 말할수 있는 한단어는 떠올르지 않는다..... 그렇다면 javabean 가 무엇인지 알아보자 ^^

public class Bean
{
 private String name;
 public void setName(String name)
 {
  this.name = name;
 }
 public String getName()
 {
  return this.name;
 }
}



위와 같은 구조의 클래스가 자바빈즈 클래스이다.. 대~~ 충은.. 클래스안에 저장할수 있는 스트링이나 다른 변수 객체들이 있고, 그것을 접근하기 위한 set 메서드와, get 메서드를 구현 시켜 놓은다면 그 클래스는 javabean 클래스라고 볼수 있다..  라고 이해했다.

음... 뭐라 딱히 딱부리지게 우리 말로 표현 할 수는 없지만, 단어의 뜻을 보고 생김새도 보니 이미지는 떠올른다. ^^

Java 2007/01/15 22:07

Java 세팅

일단 JVM을 설치 해야 할것이다. 맞나? Java Runtime Environment (JRE) 이건가? 이것을 썬사의 홈페이지 들어가서 설치 한다. 일단 내가 사용하는 버전은 1.4버전

그 다음 왼쪽링크들중에 있는 이클립스를 설치 한다. 음.. 그리고 톰캣을 설치.. 그 링크도 왼쪽에 있다. 그리고 톰캣 설정법은 긁어 왔다. 쩝..

설정

Java 2006/12/08 14:39

자바 예상 문제들...

쩝 너무 많다.~~





범위내 문제들

아래의 예제는 awt의 이벤트 처리 부분을 사용하여 구현해 본 간단한 에플릿 프로그램

같이구현

따로구현


div>