Уменьшенные файлы css и js не копируются в конечный файл war с помощью minify-maven-plugin

#javascript #css #minify

#javascript #css #минимизировать

Вопрос:

Я пытаюсь минимизировать все мои файлы css и js. Затем я хочу, чтобы они были в конечном файле war. Я не хочу менять имена файлов, т.Е. Я хочу, чтобы только содержимое каждого файла было уменьшено и должно перейти в файл war.

Это мой pom.xml

 <plugin>
        <groupId>com.samaxes.maven</groupId>
        <artifactId>minify-maven-plugin</artifactId>                   
        <version>1.7.2</version>
        <executions>
                <execution>
                        <id>minify</id>
                        <phase>package</phase>
                        <goals>
                                <goal>minify</goal>
                        </goals>
                        <configuration>
                                <charset>utf-8</charset>
                                <jsEngine>CLOSURE</jsEngine>                           
                                <closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
                                 <nosuffix>true</nosuffix>
                         <skipMerge>true</skipMerge>
                            <verbose>true</verbose> 
                                <cssSourceDir>/ui/css</cssSourceDir>
                                <cssTargetDir>/ui/css</cssTargetDir>
                                <cssSourceIncludes>
                                        <cssSourceInclude>*.css</cssSourceInclude>
                                </cssSourceIncludes>

                                <jsSourceDir>/ui/js</jsSourceDir>
                                <jsTargetDir>/ui/js</jsTargetDir>
                                <jsSourceIncludes>
                                        <jsSourceInclude>*.js</jsSourceInclude>
                                </jsSourceIncludes>
                        </configuration>
                </execution>
        </executions>
</plugin>
  

Здесь сначала происходит упаковка файла war, а затем происходит сокращение.

Это выводится в командной строке после запуска файла pom

 [INFO] --- maven-war-plugin:2.2:war (default-war) @ ProductActivationServer ---
[INFO] Packaging webapp
[INFO] Assembling webapp [ProductActivationServer] in [C:ProductActivationServerUIpasProductActivationServertargetpas]
[INFO] Processing war project
[INFO] Copying webapp resources [C:ProductActivationServerUIpasProductActivationServersrcmainwebapp]
[INFO] Webapp assembled in [13993 msecs]
[INFO] Building war: C:ProductActivationServerUIpasProductActivationServertargetpas.war
[INFO] WEB-INFweb.xml already added, skipping
[INFO]
[INFO] --- minify-maven-plugin:1.7.2:minify (minify) @ ProductActivationServer ---
[INFO] Starting CSS task:
[INFO] Skipping the merge step...
[INFO] Creating the minified file [C:ProductActivationServerUIpasProductActivationServertargetpasuicssBreadCrumb.css].
  

Итак, в final war исходный контент есть, но не уменьшен.

Пожалуйста, помогите. Я использую mvn, веб-приложение struts.

Я пытаюсь минимизировать все мои файлы css и js. Затем я хочу, чтобы они были в конечном файле war. Я не хочу менять имена файлов, т.Е. Я хочу, чтобы только содержимое каждого файла было уменьшено и должно перейти в файл war.

Ответ №1:

Когда оба параметра nosuffix и skipMerge установлены true , фаза выполнения плагина должна быть установлена на package , в противном случае выходные файлы будут переопределены исходными файлами во время упаковки. Вам также необходимо исключить исходные файлы из пакета WAR.