2014-01-20 3 views
3

배경 : maven을 사용하여 JAR 파일로 패키징하는 JS 라이브러리를 빌드 중입니다. minify maven plugin을 사용하여 JS 파일을 병합하고 축소합니다.JAR에 minify maven plugin 출력 포함

문제점 : minify maven 플러그인은 웹 응용 프로그램 패키지 내에서 WAR로 사용할 때 완벽하게 작동합니다. 하지만 제 경우 JAR 패키징이있는 곳에서는 병합되고 축소 된 JS 출력이 JAR 파일로 패키징되지 않습니다. 명시 적으로 빌드에 포함시킬 리소스를 구성하려고 시도했지만이 방법은 src 아래의 리소스 (src/main/resources)에서는 작동하지만 대상 폴더에 이미있는 리소스에는 작동하지 않습니다.

이 작동하지 않습니다

<resources> 
    <resource> 
     <directory>${basedir}/target/${project.build.finalName}/resources</directory> 
     <includes> 
      <include>**/*.js</include> 
     </includes> 
    </resource> 
</resources> 

을 내가 말하는 경고를 얻을 :

"[WARNING] JAR will be empty - no content was marked for inclusion!" 

질문 : META에서 JAR 내에서 축소 된 JS 파일을 패키징 할 -INF/resources 대상 폴더에있는 minify-maven-plugin의 출력을 JAR에 어떻게 포함시킬 수 있습니까? 폴더.

업데이트 : 기본적으로 minify maven 플러그인은 축소 된 파일을 대상 폴더에 출력합니다. 필자는 선택적으로 출력을 원하는 특정 디렉토리 (대상 내)를 설정할 수 있습니다. 플러그인의 minify : minify 목표는 선택적 매개 변수 'jsTargetDir'을 사용합니다. 원본 소스 JS를 리소스로 설정해도 문제가 지속됩니다. 소스 JS 파일은 JAR에 패키징되지만 축소 된 파일은 패키징되지 않습니다. maven의 JAR 플러그인과 Resource 플러그인은 src 아래의 파일 만 인식합니다. 축소 된 파일은 src에 있지 않지만 대상 아래에 있으므로 mvn 패키지는 해당 파일을 인식하지 못하는 것 같습니다.

감사합니다,

아난드

+0

js 파일은 어떻게 대상 디렉토리로 이동합니까? 당신의 maven 패키지 유형이 jar라고 가정하면, minify 플러그인을 사용하여 src/main/resources를 대상 디렉토리로 처리합니까? js 파일이 대상 디렉토리에 있음을 확인 했습니까? –

+0

질문이 필요한 정보로 업데이트되었습니다. – Anand

답변

1

당신은 ${project.build.directory}/${project.build.finalName}에있는 기본 포인트 옵션 webappTargetDir를 설정해야합니다.

+0

안녕하세요 사무엘, webappTargetDir을 어떻게 설정해야합니까? 대상 폴더 내의 어떤 디렉토리가 JAR 내에 패키지되어 있습니까? – Anand

+0

대상 폴더로 제한되지 않습니다. 이 옵션은 원하는 디렉토리 (예 :'$ {basedir}/src/main/resources /')로 설정할 수 있습니다. – samaxes

+0

안녕하세요 사무엘, webappTargetDir 및 jsTargetDir 설정도 시도했습니다. 병합 된 JS 파일은 위 속성에서 설정 한대로 $ {basedir}/src/main/resources/폴더에 생성됩니다. 그러나 JAR에는 이러한 파일이 포함되어 있지 않습니다. JAR에는 원본 소스 파일 만 있습니다. JAR이 이러한 파일을 패키징하지 않는 이유는 무엇입니까? 너무 늦게 발병 중이 니? 기본 단계는 '프로세스 리소스'입니다. 나는 '준비 패키지'단계도 시도했다. 작동하지 않습니다. :( – Anand