2010-07-30 4 views
15

저는 최근에 기존 프로젝트를 관리하라는 요청을 받았으며 그게 무슨 뜻인지 정확히 모르겠습니다. Maven 웹 사이트에서는 처음부터 Maven 프로젝트를 만드는 방법에 대해 설명하지만, 이미 상당한 양의 코드가 있다면 어떻게해야할까요?프로젝트를 "Mavenize"한다는 것은 무엇을 의미합니까?

명령 줄이나 Eclipse/Netbeans에서 작업하는 것이 편안합니다. 2 IDE의 많은 플러그인이 있다는 것을 알고 있습니다. 이 종류의 것을 만들지 만 어디서부터 시작해야할지 모르겠습니다.

모든 종속성이있는 pom 파일을 작성하는 것보다 더 많은 것이 있습니까?

답변

14

"Mavenize"는 단순히 POM을 쓰고 (가능하면 코드를 움직여서) Maven에서 빌드되도록하는 것을 의미합니다.

이렇게하는 가장 쉬운 방법은 코드를 약간 재구성하여 Maven 규칙 (예 : "소스"를 "src/main/java"으로 이동하고 별도의 모듈을 명시 적으로 분리)과 일치시키는 것입니다. 은 관습을 무시하고 클래스를 저장하는 방법을 Maven에게 알려주지 만, 일반적으로 Maven의 대부분을 "즉시 사용할 수있는"상태로 만들기위한 약간의 고통이 있습니다.

Ant (또는 비슷한) 파일의 대다수가 상용구이며, Maven의 기본 아이디어입니다. 그러나 Maven에서 재현해야하는 일부 맞춤 아이템 (예 : "TestIntegration"으로 시작하는 테스트 클래스는 야간 빌드에서만 실행되어야 함)이있을 수 있습니다.

하지만 일반적으로 빌드의 기존 기능을 사용하고 Maven을 사용하여 동일한 기능을 재현하는 것을 의미합니다.

+0

아, 너무 조직적인 일입니다. 나는 Maven을 사용하지 않는 사람들을 망쳐 놓는 것에 신경이 쓰이지 만, build.xml에 변경 사항을 반영하기는 쉽다고 생각한다. – stinkycheeseman

+0

일반적으로 프로젝트를 빌드 할 수있는 두 가지 빌드 시스템을 갖는 것은 일반적으로 드문 일이다. 어떤 사람들이 메이븐을 들지 않는 이유가 무엇입니까? 그러나 Maven은 "컨벤션 오버 컨벤션 (convention over configuration)"을 선호하기 때문에 주로 조직적이며, build.xml을 확실히 업데이트하여 새로운 위치에서 작업 할 수 있습니다. –

+0

좋아, 시원한. 나는 모든 사람들이 maven으로 변환 될 것이라고 생각하지만 초기에는 다른 사람의 현재 설정을 깨뜨리고 싶지 않습니다. – stinkycheeseman

4

이것은 프로젝트 코드와 리소스를 maven 모델에 맞게 재구성한다는 것을 의미합니다. "컨벤션 오버 컨벤션"을 사용하면 표준 Maven 툴이 코드베이스에서 작동 할 수 있습니다.

0

말한 것 이외에.

이클립스 IDE를 사용하여 기존 java 프로젝트를 maven 프로젝트로 변환 할 수 있습니다. m2eclipse 플러그인은 다음과 같이 해당 기능 또는 옵션을 지원합니다. m2eclipse 플러그인을 설치하고 Eclipse를 다시 시작한 후. java 프로젝트 -»구성 -»마우스 오른쪽 버튼을 클릭하십시오.

생성 된 pom이 있어야합니다. 프로젝트 종속성과 저장소가 해당 메이븐에 없으면 거의 항상 프로젝트 수정 및 리포지토리와 일치하도록 수정해야합니다 중앙 repo.

관련 문제