使用minify-maven-plugin,缩小的css和js文件不会被复制到最终war文件

时间:2016-10-04 05:48:22

标签: javascript css minify

我正在尝试缩小所有css和js文件。然后我想把它们放在最终的战争文件中。我不想更改文件名,即我只希望内容应该缩小每个文件,并且应该转到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>

这里首先发生战争文件的打包,然后发生缩小。

运行pom文件

后,在命令行中输出
[INFO] --- maven-war-plugin:2.2:war (default-war) @ ProductActivationServer ---
[INFO] Packaging webapp
[INFO] Assembling webapp [ProductActivationServer] in [C:\ProductActivationServerUI\pas\ProductActivationServer\target\pas]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\ProductActivationServerUI\pas\ProductActivationServer\src\main\webapp]
[INFO] Webapp assembled in [13993 msecs]
[INFO] Building war: C:\ProductActivationServerUI\pas\ProductActivationServer\target\pas.war
[INFO] WEB-INF\web.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:\ProductActivationServerUI\pas\ProductActivationServer\target\pas\ui\css\BreadCrumb.css].

所以在最后的战争中原始内容在那里,但没有缩小。

请帮忙。我正在使用mvn,struts web app。

我正在尝试缩小所有css和js文件。然后我想把它们放在最终的战争文件中。我不想更改文件名,即我只希望内容应该缩小每个文件,并且应该转到war文件。

1 个答案:

答案 0 :(得分:0)

当选项nosuffixskipMerge都设置为true时,插件执行阶段需要设置为package,否则输出文件将被覆盖包装过程中的源文件。 您还需要exclude source files from WAR package