2013-07-22 1 views
3

내 빌드 과정의 일부로 war 플러그인에서 생성 된 매니페스트 파일에있는 것과 동일한 정보를 포함하고 싶은 별도의 이슈 (정적 웹 파일이 포함 된 압축 파일)가 생성됩니다. 매니 페스트 파일이 war 파일에 올바르게 생성되었지만 액세스 할 수 있으므로 복사하고 압축 된 파일에도 넣을 수 있습니다. 하여 받는다는 전쟁 - 플러그인에 대한 문서에서 생성 된 MANIFEST.MF 파일을 maven-war-plugin에서 가져 오는 방법은 무엇입니까?

: 매니페스트 목표는 그것을 읽

매니페스트 파일은 warSourceDirectory에 생성됩니다. $ {BASEDIR}/그러나 SRC/메인/웹 애플리케이션

, 생성되는 유일한 매니페스트 전쟁 내에 : 위치 기본값

. 생성 된 매니페스트 파일을 내 원본에 넣을 수도 있습니다. 나는 그것이 전쟁이 포장 된 표적에 놓일 것이라고 생각할 것입니다.

내가 누락 된 항목이 있습니까?

+0

Bueller? 내가 볼 수있는 유일한 옵션은 별개의 매니페스트 파일 (앤티 실행을 통해 생성 된 연결된 이슈의 두 번째 매니페스트)을 생성하는 것입니다. – Noremac

답변

7

built-in lifecycle reference을 보면 <packaging>war</packaging> 라이프 사이클의 어느 시점에서도 목표에 국한된 war:manifest 목표가 없다는 것을 알 수 있습니다.

따라서 기본적으로이 목표는 실행되지 않습니다 (실행을 추가하지 않는 한).

war:war 목표는 그 파일을 사용하는 실행보다는 즉석에서 MANIFEST.MF를 생성시킨 파일을 생성하지 않고 .war 파일에 똑바로 삽입되면 ${basedir}/src/main/webapp/META-INF/MANIFEST.MF에서 MANIFEST.MF 파일 다음 있으면.

내가 알 수있는 바로는 목표는 템플릿 MANIFEST.MF을 생성하는 데 사용하도록 설계되었으며,이 템플릿을 사용자 정의하고 앞으로 사용할 수 있습니다.

  • war:inplace
  • war:manifest

이러한 목표를 모두 파일을 수정하기 때문에 그 이유는

전쟁 플러그인은 내가 분명히 유지 조언하는 경향이 목적을 가지고 있습니다 귀하의 src 나무에만 target에있는 파일을 만지의 표준 메이븐 연습에 대해 간다 (이는 대상을 제거해야하므로 매우 좋은 mvn clean에 대한)

질문과 관련하여 중요한 것은 별도의 이슈를 생성한다는 것입니다. Maven은 Maven 모듈 하나당 하나의 이슈만을 고집 할 때 가장 잘 작동합니다. 따라서 별도의 이슈에는 별도의 모듈이 있습니다. 종속물로 .war을 추가하고 (<type>war</type> 기억) .war 파일의 압축을 풀려면 dependency:unpack-dependencies을 사용하십시오. META-INF/MANIFEST.MF 만 압축을 풀면 target/${project.build.finalName/META-INF/MANIFEST.MF으로 끝나고 두 번째 이슈를 압축하면됩니다. .war 파일과 동일한 명시가 있는지 확인하십시오.

+0

그러나 war 플러그인은 maven 아카이버 (http://maven.apache.org/shared/maven-archiver/index.html)를 사용하여 매니페스트 파일을 구성 할 수 있습니다. 이것은 내가 처형하지 않고 어떻게했는지입니다. 매니 페스트 파일의 일부가 모든 빌드로 업데이트 된 타임 스탬프이기 때문에 매니페스트 파일은 전쟁의 목적에 대해 사실이라면, 매니페스트 파일을 사용하고 싶지 않습니다. 여러 가지 인공물에 관해서는, 나는이 두 가지 유물이 모든 곳에서 끈적 끈적한 문화적 문제라고 생각했습니다. 나는 그것들을 분리하는 것의 가치를 봅니다. (나는 우리가 그것을하는 이유를 방어하기 위해 뛰어 내릴 충동을 극복했습니다.) – Noremac

+0

나는 솔직한 해결책을 원하고 있다고 생각하지만, 내가 말한 것은 내가 인용 한 문서에 대해 더 이해할 수있다. 나는 다른 모든 파일들이 전쟁에 묶여있는 것처럼 표적의 "단계적"파일을보고 싶습니다. – Noremac

관련 문제