eclipse export와 ant 차이

543 views
Skip to first unread message

ChoongHyun Yang

unread,
May 28, 2012, 9:31:14 PM5/28/12
to Korea Spring User Group
제목 그대로 입니다. 이 2개의 차이가 뭔지 알려주세요?
eclipse에 export가 ant 빌드 기반인가요?

HEO GWANG NAM

unread,
May 28, 2012, 9:36:59 PM5/28/12
to ks...@googlegroups.com
이클립스의 Export 기능은 프로젝트를 외부로 내보내는 형태(zip, war, jar, etc)를 도와주는 기능입니다.
이클립스는 Ant가 잘 녹아들어가 있지만, Export가 Ant 기능을 활용했다고는 추정할 수 있겠네요.
어디까지나 추정입니다.

ANT(Another Neat Tool) 소스를 빌드하기 위한 도구입니다. ant로 할 수 있는 백가지 기능들이 http://ant.apache.org/manual/ 페이지의 Ant Tasks 에서 확인할 수 있습니다.

허광남 배상
----
일방문 20,000명의 자바개발커뮤니티



2012. 5. 29., 오전 10:31, ChoongHyun Yang 작성:

제목 그대로 입니다. 이 2개의 차이가 뭔지 알려주세요?
eclipse에 export가 ant 빌드 기반인가요?

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.


ChoongHyun Yang

unread,
May 28, 2012, 9:49:34 PM5/28/12
to Korea Spring User Group
감사합니다.ㅎ
허쌤을 여기서도 뵙네요 ㅎ
저녁에 뵙겠습니다.

On 5월29일, 오전10시36분, HEO GWANG NAM <kenu....@gmail.com> wrote:
> 이클립스의 Export 기능은 프로젝트를 외부로 내보내는 형태(zip, war, jar, etc)를 도와주는 기능입니다.
> 이클립스는 Ant가 잘 녹아들어가 있지만, Export가 Ant 기능을 활용했다고는 추정할 수 있겠네요.
> 어디까지나 추정입니다.
>

> ANT(Another Neat Tool) 소스를 빌드하기 위한 도구입니다. ant로 할 수 있는 백가지 기능들이http://ant.apache.org/manual/페이지의 Ant Tasks 에서 확인할 수 있습니다.
>
> 허광남 배상
> ----
> 일방문 20,000명의 자바개발커뮤니티http://www.okjsp.pe.kr

임병인

unread,
May 29, 2012, 2:05:03 AM5/29/12
to ks...@googlegroups.com
허광남님이 쉽게 설명을 해주셨으므로 저는 조금 어렵게 설명을 드려볼까 합니다. ^^; 

어떤 개념을 이해하기 위해서는 그 개념이 사용된 상황을 이해할 필요가 있습니다.
이클립스의 Export 기능은 Context Menu로써 이클립스가 어떤 상황에서 활성화되었느냐에 따라 다르게 동작합니다. 허광남님이 설명하신 경우는 빌드를 해야할 상황에서의 활성화 된 경우로 Ant와 비교해야 하므로 적절한 비교라 할 수 있습니다. 
하지만 Export/Import는 빌드 상황에서 뿐만 아니라 환경이나 프로젝트 등에서도 사용합니다. 예를 들면 이클립스 프로젝트 Export/Import, 메이븐 프로젝트 Export/Import, 이클립스 Preferences Export/Import, Java Project Code Convention Export/Import, Base Config Export/Import 등 이클립스 메뉴 곳곳에서 해당 메뉴가 활성화 되며 그때마다 동작하는게 조금씩 달라지지만 그 의미 (반출/반입)는 변함이 없는 메뉴입니다. 이런 메뉴를 Context Menu라고 합니다.

이제 다시 빌드라는 관점에서 Ant와 다른 시각에서 비교해 보겠습니다. 이클립스로만 빌드한다면 GUI로 제어할 수 있는 편리한 Export로 관리해도 됩니다. 그런데 여기에는 치명적인 약점이 있습니다. 
- 개발자가 여러명일경우 각 개발자의 빌드 환경이 완전히 같을 수 없으므로 배포버전이 달라질 수 있다.
- 위의 문제를 해결하기 위해서 빌드서버를 구축할 경우에도 이클립스를 사용해야 한다.
- 이클립스를 사용하기 위해서는 GUI를 사용할 수 있는 환경이 제공되어야 한다. (MS Windows, X Windows 등)
- 빌드서버에서 위의 환경을 구축하려면 불필요한 자원 낭비가 발생한다. 등등

위의 단점들을 극복하기 위해서 Ant, Maven, Ivy, Gradle 등 빌드도구를 활용하여 빌드하며 
이러한 빌드를 Headless Build 라고 합니다. 즉, GUI를 사용하지 않는 빌드를 의미합니다.
Ant든 Maven이든 이클립스에서 실행가능하지만 원래 목적은 독립적으로 실행하기 위한 것입니다.

서두에도 말씀드렸듯이 쉬운 설명이 아래에 있으므로 원론적인 의미에서 차이점을 말씀드리기 위해 조금 어렵게 설명했습니다. ^^; 
읽는 분들의 너그러운 양해부탁드립니다.
감사합니다.

2012년 5월 29일 오전 10:36, HEO GWANG NAM <kenu...@gmail.com>님의 말:



--

컨설팅사업부 컨설팅팀/임병인 수석 컨설턴트 (휴대전화: 010-7350-7915)

02-2026-4016 02-2026-4020byl...@nextree.co.kr


Reply all
Reply to author
Forward
0 new messages