Eclipse 환경을 중앙에서 쉽게 배포하는 방법이 여러가지가 있겠지만 한가지 소개해 드리자면..
# extensions 정보를 이용하는 방법입니다.
1. 우선 Directory의 구조를 정합니다.
예)
C:\MyIDE\eclipse
C:\MyIDE\eclipse-extensions
C:\MyIDE\eclipse-installversion
C:\MyIDE\tools
....
1.1 보자면
C:\MyIDE\eclipse : 개발진행 eclipse
C:\MyIDE\eclipse-extensions : 중앙으로 부터 배포되는 플러그인등의 정보파일.
C:\MyIDE\eclipse-installversion : eclipse의 원본을 보존할 폴더 .zip
C:\MyIDE\tools : JDK, Ant, Maven, SVN Kit ....등의 툴.
부가적으로 MyIDE에는 run.bat나 Ant.bat등을 두어 Svn 으로 부터 중앙에서 배포하는 플러그인등을 체크 후 변경사항이 있으면 Svn으로 부터 반영후 eclipse가 실행되도록 처리합니다.
1.2. 플러그인등의 배포
a. 우선 C:\MyIDE\eclipse-extensions 에 eclipse 기본 폴더 구조과 동일하게 폴더구조를 생성합니다.
C:\MyIDE\eclipse-extensions
C:\MyIDE\eclipse-extensions\eclipse
C:\MyIDE\eclipse-extensions\eclipse\plugins
C:\MyIDE\eclipse-extensions\eclipse\features
생성후 파일을 하나 만들어 둡니다. ".eclipseextension" 파일 내용은 다음과 같습니다.
----------------------------------------
File : C:\MyIDE\eclipse-extensions\eclipse\.eclipsextension
----------------------------------------
name=Eclipse4J
id=kr.or.eclipse4j.configuration
version=3.3.0
----------------------------------------
b. 이렇게 한 후, 플러그인의 파일(.jar,.zip등 아카이브)을 features와 plugins에 넣어 두고 eclipse를 실행 합니다.
c. 실행후 Help->Software Updates->Manage
를 선택후 위의 C:\MyIDE\eclipse-extensions\eclipse 폴더를 정합니다. 이제 리스타트가 되면서 지정된 곳에 있는 plugin이 업데이트 됩니다.
d. 여기서 끝나면 안되겠죠. Svn도 이용을 해보죠. Svn에 플러그인 파일을 올려 놓은 후,
C:\MyIDE\eclipse-extensions\eclipse\plugins
C:\MyIDE\eclipse-extensions\eclipse\features
Ant를 이용해서 이 두곳에 해당 파일을 update를 받아서 놓으면 eclipse 실행시 자동으로 체크해서 이클립스 환경이 업데이트 되겠죠.
대충 build.xml 파일을 살펴보면
-----------------------------------------------------------------------
....
<path id="project.classpath">
<pathelement location="${libpath}/svnant.jar" />
<pathelement location="${libpath}/svnClientAdapter.jar"/>
<pathelement location="${libpath}/svnjavahl.jar"/>
..........
</path>
<target name="svnCheckout" depends="init">
<antcall target="plugin_update"/>
</target>
<target name="plugin_update" depends="">
<property name="repository.URL" value="svn://"/>
<java classname="org.tmatesoft.svn.cli.SVN" dir="${source-root}" fork="true">
<arg value="co"/>
<arg value="--username"/>
<arg value="xxxxxxx"/>
.....
</java>
</target>
....
-----------------------------------------------------------------------
# .metadata 정보를 이용하는 방법입니다.
- 이부분은 환경설정에 관련된부분 입니다만...
- javajigi Study에서 나온 방법입니다. 향후 포스트 하겠습니다.
# 환경정보 export/import
- 개인적으로 workspace\.metadata 를 이용하는 방법보다는 그냥 팀공유시 중요한 설정 부분만 xml파일로 export/import 하는 방법을 선호합니다. 물론 .xml 파일또한 버젼컨트롤에서 관리되겠죠.