2016-12-29 1 views
0

http://www.baeldung.com/maven-minification-of-js-and-css-assets의 지침에 따라 YUI 압축기 maven 플러그인을 Spring MVC 웹 응용 프로그램에 사용하려고합니다. 나는 내 pom.xml 파일에 다음과 같은 추가 :Maven 플러그인을 사용한 CSS 및 JS 파일의 축소가 작동하지 않습니다.

<plugin> 
     <groupId>net.alchim31.maven</groupId> 
      <artifactId>yuicompressor-maven-plugin</artifactId> 
      <version>1.5.1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compress</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <nosuffix>true</nosuffix> 
       <webappDirectory>${project.build.directory}/min</webappDirectory> 
       <excludes> 
        <exclude>**/*.min.js</exclude> 
        <exclude>**/handlebars-3133af2.js</exclude> 
        <exclude>**/require.js</exclude> 
       </excludes> 
      </configuration> 
    </plugin> 

나는 src/main/webapp 아래의 하위 폴더에 많은 CSS와 JS 파일이 있고 설명서에 따라, 이러한 모든 축소 된해야한다. 그러나 maven clean install을 실행할 때 내 콘솔에서 축소와 관련된 로그를 보지 못하거나 내 war 파일에서 축소 된 파일을 찾지 못합니다.

내가 원하는 모든 기존 CSS 나 JS 파일과 같은 폴더에 같은 파일 이름으로 min라는 이름의 하위 폴더 아래에있는 축소 된 파일을 저장하는 것입니다

콘솔 로그는 지금 :

[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building smartwcm-services 6.3.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ smartwcm-services --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 36 resources 
[INFO] 
[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ smartwcm-services --- 
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:2]: illegal character 
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 2:illegal character 
    /* Note: jquery script is assumed to be loaded prior to this script */ 
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:2]: syntax error 
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 2:syntax error 
    /* Note: jquery script is assumed to be loaded prior to this script */ 
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:3]: illegal character 
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 3:illegal character 
    /* Note: jquery script is assumed to be loaded prior to this script */ 
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:0]: Compilation produced 3 syntax errors. 
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 0:Compilation produced 3 syntax errors. 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.060 s 
[INFO] Finished at: 2016-12-29T11:25:32+05:30 
[INFO] Final Memory: 19M/111M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress (default) on project smartwcm-services: Execution default of goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress failed: Compilation produced 3 syntax errors. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

답변

1

pom.xml에 nosuffix 옵션없이 실행하면 게시 된 구성처럼 대상 \ min 폴더에 파일이 생기게됩니다. 당신이 <nosuffix>true</nosuffix>와 함께 실행하면 로그 아래 얻을 것이다

[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ spring-static-resources --- 
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%] 
[INFO] foo.js (44b) -> foo-min.js (37b)[84%] 
[INFO] utils.js (48b) -> utils-min.js (28b)[58%] 
[INFO] main.js (138b) -> main-min.js (100b)[72%] 
[INFO] router.js (86b) -> router-min.js (64b)[74%] 
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%] 
[INFO] foo.js (44b) -> foo-min.js (37b)[84%] 
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%] 
[INFO] myCss.css (127343b) -> myCss-min.css (106005b)[83%] 
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%] 
[INFO] total input (637075b) -> output (530291b)[83%] 

당신은 받는다는에서 로그 아래에 표시됩니다. 이 옵션은 축소 된 파일을 target \ min 폴더에 제공하지만 파일 이름은 동일하게 유지합니다.

[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ spring-static-resources --- 
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%] 
[INFO] foo.js (44b) -> foo.js (37b)[84%] 
[INFO] utils.js (48b) -> utils.js (28b)[58%] 
[INFO] main.js (138b) -> main.js (100b)[72%] 
[INFO] router.js (86b) -> router.js (64b)[74%] 
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%] 
[INFO] foo.js (44b) -> foo.js (37b)[84%] 
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%] 
[INFO] myCss.css (127343b) -> myCss.css (106005b)[83%] 
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%] 
[INFO] total input (637075b) -> output (530291b)[83%] 

이 최소화 전쟁에서 파일이 아니라 당신의 pom.xml에 <webappDirectory>를 설정해야합니다 원래 사람을 포함합니다. 그래서 구성은

<plugin> 
     <groupId>net.alchim31.maven</groupId> 
      <artifactId>yuicompressor-maven-plugin</artifactId> 
      <version>${yuicompressor-maven-plugin.version}</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compress</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <nosuffix>true</nosuffix> 
       <webappDirectory>${project.build.directory}/min</webappDirectory> 
       <excludes> 
        <exclude>**/*.min.js</exclude> 
        <exclude>**/handlebars-3133af2.js</exclude> 
        <exclude>**/require.js</exclude> 
       </excludes> 
      </configuration> 
    </plugin> 

위 로그는 GitHub의 프로젝트 https://github.com/eugenp/tutorials/tree/master/handling-spring-static-resources 출신 아래처럼 보일 것입니다. 이 프로젝트에서 참조 할 수 있도록 pom.xml을 확인하십시오.

+0

현재 구성에서 로그에 아무 것도 표시되지 않습니다. –

+0

mvn 콘솔 로그를 게시 할 수 있습니까? 동일한 github 프로젝트를 위해 빌드를 실행하고 있습니까? – abaghel

+0

로그와 업데이트 된 pom.xml 파일로 질문을 업데이트했습니다. –

관련 문제