2013-04-13 1 views
1

개발을 위해 Java/Eclipse를 사용하고 있으며 개미 또는 메이븐과 같은 기존 빌드 도구를 사용한 적이 전혀 없습니다. 나는 대체로 일식 (eclipse)을 통해 프로젝트를 만드는 것에 의지하고 커맨드 라인은 거의 사용하지 않는다. 정말 개미/메이븐 알고 시간을 보내고 싶지 않지만 이클립스 정말 .classpath 파일을 통해 다른 설정을 통해 개미/메이븐 모든 기능을 대신 할 수 있는지 알고 싶습니다.Eclipse .classpath 파일과 build.xml 파일의 관계는 무엇입니까?

(개미를 배우기 쉽도록 튜토리얼을 제안하지 마십시오.)

답변

1

응용 프로그램이 Eclipse 외부에 거의 존재하지 않으면 Eclipse를 계속 사용해야합니다. 그러나 이클립스는 개발자 도구입니다 (코드를 작성한 사람과 마찬가지로 개발자). 가장 사소한 프로젝트 이외의 다른 것들은 개발자가 아닌 다른 역할을 처리해야합니다. 응용 프로그램은 전체 라이프 사이클을 거치게됩니다. 실제로 코딩, 컴파일, 종속성 어셈블 링, 패키징, 배포 또는 다른 관점에서 여러 단계를 거치는 산출물의 관점에서 볼 때 프로젝트 관리 관점에서든 다른 라이프 사이클 축이 존재합니다.

단계를 탐색하는 결과물을 보면 Eclipse 내에서 (수동으로) 많은 단계를 수행 할 수 있습니다. 그래서, 다시 그게 당신을 위해 작동한다면, 찬양. 그러나 자동화가 필요하지 않으며 일부 단계 (단계)에서 Eclipse가 올바른 도구가 아닙니다. 예를 들면, Continuous Integration은 Eclipse가 구축 한 것이 아닙니다. CI 서버는 소스를 체크 아웃하고 처음부터 다시 빌드하려고 할 수 있습니다. 의존성을 찾아야하고, Eclipse의 .classpath 파일을 기반으로 그렇게 할 수는 있지만 Eclipse에 의존성이 있습니다. 자, 대기업이 정확히 그런 식으로 일하는 것을 보았습니다. 그러나 이클립스가 의도 한 바가 아니기 때문에 조금 어색합니다.

대신 전체 라이프 사이클을 다루는 데 훌륭한 도구가 있습니다.

* "전체"는 매우 주관적인 내용입니다. 개발자 관점에서 볼 때 라이프 사이클은 단계적으로 잘 분할 될 수 있지만, 규모가 큰 조직의 다른 사람들은 주어진 라이프 사이클 단계별로 자신의 임무가 과소 대표되는 것을 발견 할 수 있습니다.

Maven 또는 Gradle은 이러한 도구입니다. 여러 스테이션이있는 조립 라인을보십시오. 개발자는 이클립스를 사용하여 스테이션 중 하나에 있지만 조립 라인 아래에서 롤링을 계속합니다. CI는 대나무, 허드슨, 젠킨스 (Jenkins) 등을 사용하는 다른 스테이션이지만 여전히 조립 라인 밑에 있습니다. Eclipse 내에서 m2e 플러그인은 Eclipse와 어셈블리 라인 Maven 사이의 커넥터입니다.

다른 접근법은 스크립트를 사용하여 Eclipse에서 수행중인 수동 단계를 대체하거나,이를 연결하거나 보완하는 것입니다. 사용할 수있는 언어는 분명 많이 있지만, 툴 툴링 도메인 내에서 Ant는이 목적과 정확히 일치하기 때문에 널리 사용됩니다.

전문 소프트웨어 공장 (이미 단일 개발자 프로젝트의 경우)은 조립 라인이 필요합니다. 메이븐 (Maven)이나 그레이들 (Gradle)은 당신에게 상자를 제공합니다. 업스트림에서 수영을하고 싶다면 개미 또는 다른 물건을 사용하여 직접 수영을 즐기십시오. 그리고이 영역에서 실제로 말할 필요가 없다면 Eclipse에서 수동으로 작업을 계속하십시오.

XML로 정의 되더라도 Ant는 자연스럽게 개발자로서 전통적인 순차 프로그래밍 언어를 많이 가지고 있기 때문에 제공됩니다. 메이븐 (Maven)과 그레이들 (Gradle)은 다른 접근법을 가지고 있으며 따라서 더 가파른 학습 곡선을 가지고 있습니다. 그러나 확실히 가치가 있습니다. 그렇게하면 상황이 산들 해지며 조립 라인에 추가 할 모든 것을 코드화 할 필요가 없습니다. 이 손으로 만들어진 스크립트는 항상 작게 시작하지만 결코 그런 식으로 머물러 있지 않습니다.:)

이 외에도 Maven이 종속성을 해결하는 데 정말 뛰어나다는 점을 말씀 드리고 싶습니다. 그게 가장 잘 알려진 사실이지만,이 질문은 그게 아니고 사실 그것은 당신에게 할 수있는 일의 아주 작은 부분입니다.

3
  • 이클립스는 .project.classpath 파일을 기반으로 프로젝트를 빌드하는 방법을 알고있다. 매개 변수없이 ant을 실행할 때, 그것은 무엇을 알아 내기 위해이 파일을 사용할 수 있도록

  • build.xml

    는 개미가 사용하는 빌드 규칙의 기본 파일 이름입니다.

  • pom.xml은 Maven 프로젝트를 설명하는 기본 파일 이름이므로 mvn compile을 실행할 때이 파일을 사용하여 프로젝트를 빌드하는 방법을 찾습니다.

  • Eclipse는 Ant 빌드 파일 또는 POM 파일을 기반으로 프로젝트를 가져 와서 적절한 .project.classpath 파일을 생성 할 수 있습니다.

Eclipse, Ant, Maven은 모두 서로 바꿀 수없는 서로 다른 도구입니다. 그것들은 몇 가지 중첩 된 기능들뿐만 아니라 몇 가지 독특한 기능들을 가지고 있습니다.

명령 줄을 사용하여 프로젝트를 빌드 할 수 있다는 것은 매우 유용한 기술이며 훌륭한 프로그래머입니다. 프로그래머 역량 매트릭스에서 명령 줄을 사용하여 소프트웨어를 빌드 할 수 있다는 것은 레벨 1 (레벨 0, 1, 2, 3) 중 하나로 간주됩니다. 그렇게 할 수 없다면 그렇게 좋지 않습니다. http://www.indiangeek.net/programmer-competency-matrix/

Maven을 배우는 것이 좋습니다.

관련 문제