在Maven中,是否可以缩小文件而不将其打包成更大的文件?

时间:2016-03-21 03:17:16

标签: maven maven-plugin minify

我正在使用Maven 3.3和Java 6.我正在寻找一个可以缩小CSS和JS文件但不将它们打包成单个文件的插件,而是将每个文件压缩并使用相同的文件将其放入Web应用程序中文件名和目录结构。所以如果我有这个文件

src/main/webapp/css/my.css

生成的缩小文件将进入

target/myproject/css/my.css

我正在尝试使用Maven minifier插件使用下面的配置执行此操作,但我的Javascript文件被打包成称为“script.js”的东西,CSS文件同样被打包成一个巨大的CSS文件。有没有办法缩小每个文件而不将它们全部压缩成一个文件?

            <profile>
                    <id>minififiles</id>
                    <activation>
                            <activeByDefault>true</activeByDefault>
                    </activation>
                    <build>
                            <plugins>
                                    <plugin>
                                            <groupId>com.samaxes.maven</groupId>
                                            <artifactId>minify-maven-plugin</artifactId>
                                            <version>1.7.4</version>
                                            <executions>
                                                    <execution>
                                                    <id>default-minify</id>
                                                    <phase>process-resources</phase>
                                                    <configuration>
                                                            <cssSourceIncludes>
                                                                    <cssSourceInclude>**/*.css</cssSourceInclude>
                                                            </cssSourceIncludes>
                                                            <jsSourceIncludes>
                                                                    <jsSourceInclude>**/*.js</jsSourceInclude>
                                                            </jsSourceIncludes>
                                                            <jsEngine>CLOSURE</jsEngine>
                                                            <webappTargetDir>${project.build.outputDirectory}</webappTargetDir>
                                                    </configuration>
                                                    <goals>
                                                            <goal>minify</goal>
                                                    </goals>
                                                    </execution>
                                            </executions>
                                    </plugin>
                            </plugins>
                    </build>
            </profile>

1 个答案:

答案 0 :(得分:0)

您可以在配置中添加以下选项:

<skipMerge>true</skipMerge>
<nosuffix>true</nosuffix>

但请注意,如果您使用的是默认目标目标(由于您覆盖选项webappTargetDir,则不是这样),并且您同时设置选项nosuffixskipMerge设置为true,插件执行阶段需要设置为package,否则输出文件将在打包过程中被源文件覆盖。

您使用的插件版本需要Java 7,不适用于Java 6.