2011-11-08 1 views
0

나는 다소 복잡한 메이븐 빌드를 배우면서 자신의 길을 가고있다. 나는 특정 패키지 유형 인 "custom-war"를 사용하는 모듈을 발견했습니다. 내가 실행하면 :maven은 가짜 패키지 유형으로 무엇을합니까?

mvn -e -X clean install 

받는다는 따라서 불평 그러나

[DEBUG] Error looking up lifecycle mapping to retrieve optional mojos. Lifecycle 
    ID: clean. Error: Component descriptor cannot be found in the component repository: 
    org.apache.maven.lifecycle.mapping.LifecycleMappingcustom-war. 

, 가서 깨끗한 실행 나타납니다 깨끗하고 그래서 목표는 라이프 사이클에 매핑 할 수있는 몇 가지 결정을해야합니다 단계. 가짜 패키지 유형에도 불구하고 의사 결정에 대한 통찰력을 제공 할 수 있습니까?

이 사용자 지정 모듈이 "자신의 기본 수명주기 바인딩을 정의하는 것"으로 추가해야한다고 생각합니다. 기본 수명주기 단계에서 목표 바인딩을 정의하는 component.xml 파일을 찾았습니다. 이것에 비추어 볼 때, 오류는 깨끗하게 선언 된 바인딩이 없다고 불평하는 것으로 보이지만 component.xml의 형식은이를 지원하지 않는 것으로 보입니다.

답변

1

이 단계에 바인딩 된 목표가 패키징과 독립적이므로 단계가 완료까지 완료됩니다.

반면에 mvn install 명령에 대한 응답으로 수행해야하는 작업은 패키징을 전제로합니다. 메이븐 (Maven)은 "커스텀 워 (custom war)"이라는 알려지지 않은 패키지를 만났기 때문에 손을 던졌습니다.

Maven의 correlation of phases to packaging을 참조하십시오.

+0

그러나 'Lifecycle ID : clean'은 깨끗한 라이프 사이클을 시작할 때 손을 던지고있는 것 같습니다. 내가 여기서 뭔가 잘못 읽었나요? – chad

+0

'mvn clean' 만 성공적으로 실행할 수 있습니까? 그것은 깨끗하게하는 동안 실패하는 것일 수도 있지만 알 수없는 패키징을 만났을 때 POM의 초기 분석 중에 실제로 실패 할 수 있습니다. IIRC는 확장 기능을 제공하기 위해 플러그인을 구성하는 데 필요한 새로운 패키징 유형을 지원합니다. 새 패키징 작업에 대한 또 다른 게시물 (http://stackoverflow.com/questions/1427722/how-do-i-create-a-new-packaging-type-for-maven)을 발견했습니다. 아마 그게 몇 가지 팁을 제공합니다. –