sitelink1  
sitelink2  
sitelink3  
http://wiki.javajigi.net/pages/viewpage.action?pageId=261

Eclipse을 활용한 효율적인 개발 방법 1차 스터디의 목적

Eclipse 기반하에서 개발 효율화를 위하여 활용할 수 있는 방법들에 대하여 논의한다. Eclipse와 다양한 플러그인들의 통합을 이용한 효율적인 개발환경 구축, CVS와 같은 버전관리 시스템을 이용한 효율적인 팀 개발 방법, ANT, Maven과 같은 빌드 툴을 활용한 Deploy전략에 대해서 논의한다.

이번 스터디에서 반드시 이해해야 할 부분

  • IDE의 도입과 그에따른 결과.
  • 이클립스로 project생성하기.
  • 간단한 Web Application 생성 웹페이지 확인.
  • 프로젝트 팀공유 하기.

Eclipse 의 기본적인 사용방법

  • 새로운 Eclipse 플러그인을 찾는 방법에 대한 Resource를 모아 봅시다.
  • 새로운 Eclipse 플러그인을 설치하는 방법에 대해서는 IDE:Eclipse에 새로운 플러그인 설치하기문서를 참고하기 바랍니다.
  • Eclipse의 주요 기능 중 하나씩 Refactoring에 대하여 알아봅시다.
  • Eclipse에서 사용할 수 있는 유용한 단축키에 대하여 모아봅시다.
  • 앞으로 사용하게될 플러그인 목록.

Eclipse에서 웹 애플리케이션 개발 - Tomcat Plugin

*Sysdeo Tomcat plugin 소개, 설치 및 프로젝트생성 - 참고자료

Eclipse에서 CVS를 이용한 팀 개발

  • CVS를 사용하여 개발을 진행할 때의 효율적인 프로세스에 대하여 논의한다.
  • CVS에서 충돌과 같은 문제가 발생했을 때의 해결책을 찾아본다.

Eclipse에서 Junit의 사용

Eclipse에서 ANT의 사용

  • Eclipse Ant basics 워낙 소개된 문서들이 많아서 링크로 때웁니다.( 깊숙히 들어가면 바닥들어 납니다. )
  • Ant를 사용함으로써 격었던 효율적인 작업들.

Eclipse에서 Maven의 사용

  • Eclipse에서 Maven을 사용하는 방법에 대해서는 Maven 스터디에서 다루도록 하는 것이 좋겠습니다. 너무 처음에 많은 것을 하면 다른 분들이 지칠거 같아서요.

Eclipse에서 MiddleGen 사용 (Hibernate)

  • Eclipse에서 Hibernate를 사용하기 위한 DTO와 Mapping파일을 생성 하는 Plugin으로 비쥬얼한 화면으로 DB의 Schema를 가져와서 DTO,Mapping파일을 생성 할 수 있다.
  • 잘 설계된 Database의 경우에는 Object Relation형태의 구조를 쉽게 구현 할 수 있으며 특별히 Mapping파일을 수정하지 않고 정의된 DB의 스키마로 생성된 기본 DTO Object와 mapping파일만을 가지고도 우수한 시스템 구축이 가능 합니다.
  • Middlegen 은 이와같이 실제적으로 구현된 DB에서 부터 Hibernate Framework에서 사용할 DTO와 mapping파일을 자동으로 생성 해줍니다.
  • 이 외에도 DB2XML, DB2JAVA, JAVA2DB...의 기능을 지원하는 다양한 툴들이 있습니다 더 자세한것을 알아보시려면 Hibernate 에서 확인이 가능 하십니다.
  • IDE:Eclipse 에서 Middlegen 사용하기

Deploy 전략

  • CVS, SVN과 같은 버전 관리 시스템을 이용할 경우 개발 서버 및 실 서버에 Deploy하기 위한 전략을 찾는다.
  • 점차 EJB의 사용이 줄어들면서 LightWeight container 아키텍처로 개발하는 경우가 증가할 것이다. 현재 존재하는 모든 서버들이 war 표준하에서는 어느 곳에서나 배포가 가능하다. 이 같은 상황에서의 개발 환경 및 Deploy 전략을 찾는다.

Eclipse 관련한 참고 문서

ANT를 이용한 일일빌드.

1. 우선 CVS에서 개발서버로 소스를 checkout합니다. 이때 기존 소스관련 폴더는 삭제합니다.
2. checkout된 프로젝트의 빌드파일을 실행합니다.
3. 프로젝트 빌드파일은 프로젝트내의 JAVA Source를 컴파일합니다.
4. 컴파일도중 오류가 발생하면 메일 발송.
5. 톰캣을 리스타트 합니다.

  • cvs 에서 가져오는 build.xml
    <?xml version="1.0" encoding="UTF-8"?><project name="CrediMail" default="main" basedir=".">	<target name="main">		<antcall target="cvscall">		</antcall>		<antcall target="copybin">		</antcall>		<antcall target="compile">		</antcall>	</target>	<target name="init">        <tstamp>            <format property="TODAY" pattern="d-MM-yy"/>        </tstamp>		<property name="cvs.checkout.dir" value="${basedir}" />		<property name="eclipse4j.home" value="/usr/local/eclipse4j" />	</target>	    <!-- =================================================================== -->    <!-- Invoke XDoclet's webdoclet                                          -->    <!-- =================================================================== -->    <target name="cvscall" depends="init" description="">        <echo>+---------------------------------------------------+</echo>        <echo>|                                                   |</echo>        <echo>| R U N N I N G  C V S I M P O R T                  |</echo>        <echo>|                                                   |</echo>        <echo>+---------------------------------------------------+</echo>				<delete dir="${cvs.checkout.dir}/MyEclipsePRJ/web"/>		<delete dir="${cvs.checkout.dir}/MyEclipsePRJ/libsrc"/>		<delete dir="${cvs.checkout.dir}/MyEclipsePRJ/testclasses"/>		<delete dir="${cvs.checkout.dir}/MyEclipsePRJ/unittest_src"/>		<delete dir="${cvs.checkout.dir}/MyEclipsePRJ/src"/>		<cvspass cvsroot=":pserver:eclipse4j@test.eclipse4j.com:/home/cvs"			password="eclipse4j"		/>		<cvs cvsRoot=":pserver:eclipse4j@test.eclipse4j.com:/home/cvs"			package="MyEclipsePRJ"			dest="${cvs.checkout.dir}"		/>    </target>    <target name="copybin" depends="init" description="">        <echo>+---------------------------------------------------+</echo>        <echo>|                                                   |</echo>        <echo>| R U N N I N G  COPY TO BIN		          |</echo>        <echo>|                                                   |</echo>        <echo>+---------------------------------------------------+</echo>		<!-- 초기 설치시에만 적용 -->		<!--		<copydir	src="${eclipse4j.home}/CrediMail"					dest="${cvs.checkout.dir}/MyEclipsePRJ"					includes="bin/**, Data/**, conf/**, lib/**, modules/**"/>		-->    </target>    <target name="compile" depends="init" description="">        <echo>+---------------------------------------------------+</echo>        <echo>|                                                   |</echo>        <echo>| SOURCE COMPILE					  |</echo>        <echo>|                                                   |</echo>        <echo>+---------------------------------------------------+</echo>		<ant antfile="build.xml" dir="${cvs.checkout.dir}/MyEclipsePRJ"/>    </target></project>
  • cvs 에서 가져오는 build.xml 이 xml파일은 project root에 위치.
    <?xml version="1.0" encoding="UTF-8"?><project name="CrediMail" default="main" basedir=".">	<target name="main">		<antcall target="compile_lib"></antcall>		<antcall target="compile_src"></antcall>	</target>	<target name="init">        <tstamp>            <format property="TODAY" pattern="d-MM-yy"/>        </tstamp>		<property name="dest.src.dir" value="${basedir}/web/WEB-INF/classes" />		<property name="org.src.dir" value="${basedir}/src" />		<property name="lib.src.dir" value="${basedir}/libsrc" />		<path id="project.classpath">			<pathelement location="${dest.src.dir}"/>			<fileset dir="${basedir}/web/WEB-INF/lib">				<include name="*.jar"/>			</fileset>			<fileset dir="${basedir}/doc">				<include name="*.jar"/>			</fileset>		</path>	</target>	    <target name="compile_lib" depends="init" description="">        <echo>+---------------------------------------------------+</echo>        <echo>|                                                   |</echo>        <echo>| R U N N I N G  Compile	LIB		                  |</echo>        <echo>|                                                   |</echo>        <echo>+---------------------------------------------------+</echo>		<javac srcdir="${lib.src.dir}" destdir="${dest.src.dir}">			<classpath refid="project.classpath"/>		</javac>	</target>	<target name="compile_src" depends="init" description="">        <echo>+---------------------------------------------------+</echo>        <echo>|                                                   |</echo>        <echo>| R U N N I N G  Compile	Source	                  |</echo>        <echo>|                                                   |</echo>        <echo>+---------------------------------------------------+</echo>		<javac srcdir="${org.src.dir}" destdir="${dest.src.dir}">			<classpath refid="project.classpath"/>		</javac>    </target></project>

아직까지는 maven이 익숙하지가 않아서...ㅡㅡㅋ


번호 제목 글쓴이 날짜 조회 수
18 Eclipse의 Ajax Toolkit Framework에서 지원되는 툴 (한글) 황제낙엽 2007.03.03 54
17 MyEclipse 유저 가이드 황제낙엽 2007.01.31 8
16 MyEclipse을 활용한 효율적인 개발 방법 2차 황제낙엽 2007.01.30 81
» Eclipse을 활용한 효율적인 개발 방법 1차 황제낙엽 2007.01.30 22
14 이클립스 다국어 설정 (UTF-8) file 황제낙엽 2006.09.20 280
13 Web Tools Platform 0.7 - Web 개발하기 개요 황제낙엽 2006.10.04 31
12 이클립스와 Struts 환경셋팅 황제낙엽 2005.09.07 12
11 Eclipse를 활용한 효율적인 팀 개발 및 배포 전략 (2) 황제낙엽 2007.03.16 91
10 Eclipse를 활용한 효율적인 팀 개발 및 배포 전략 (1) 황제낙엽 2007.03.16 120
9 java.net과 이클립스를 이용한 오픈소스 자바 어플리케이션 개발 (2부. 이클립스와 CVS를 이용한 팀 작업) file 황제낙엽 2007.02.28 152
8 java.net과 이클립스를 이용한 오픈소스 자바 어플리케이션 개발 (1부. 이클립스에서 새로운 프로젝트 생성하기) file 황제낙엽 2007.02.28 254
7 MyEclipse에서 XML, JSP 페이지의 실시간 Validation 옵션 끄기 황제낙엽 2007.01.26 156
6 Eclipse Loader 황제낙엽 2005.10.28 19
5 (KeepResident Eclipse plugin) 하드스와핑이 일어나지 않게 황제낙엽 2006.02.14 22
4 Velocity 용 플러그인 황제낙엽 2005.12.05 11
3 Log4J 용 이클립스 플러그인 (log4e) 황제낙엽 2005.11.30 29
2 이클립스3.1용 문서 에디터 플러그인 (JSP, XML, HTML) 황제낙엽 2005.11.30 35
1 Eclipse 관련 FAQ 황제낙엽 2005.10.13 188