3

我试图在构建时使用 wro4j Maven 压缩 js 和 css 文件(通过 m2e-wtp 调用 - 使用 Eclipse Luna),但它不起作用。我试过1.7.5,1.7.7版本。

以下是我的配置:

wro.xml:

<plugin>
    <groupId>ro.isdc.wro4j</groupId>
    <artifactId>wro4j-maven-plugin</artifactId>
    <executions>
        <!-- JS minification -->
        <execution>
            <id>js-minify</id>
            <phase>compile</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <debug>true</debug>
                <targetGroups>angular-deps,app-bundle</targetGroups>
                <minimize>true</minimize>
                <!-- provide Google Closure compiler options using custom factory --><wroManagerFactory>com.manikanta.wro4j.maven.CustomWroManagerFactory</wroManagerFactory>
                <groupNameMappingFile>${basedir}/src/main/webapp/js-min/group-mapping.properties</groupNameMappingFile>
                <ignoreMissingResources>false</ignoreMissingResources>
                <gzipEnabled>true</gzipEnabled>
            </configuration>
        </execution>

        <!-- CSS minification -->
        <execution>
            <id>css-minify</id>
            <phase>compile</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <targetGroups>styles</targetGroups>
                <minimize>true</minimize>
                <ignoreMissingResources>true</ignoreMissingResources>
                <groupNameMappingFile>${basedir}/src/main/webapp/css-min/group-mapping.properties</groupNameMappingFile>
            </configuration>
        </execution>
    </executions>

    <configuration>
        <contextFolder>${basedir}/src/main/webapp/</contextFolder>
        <!-- <destinationFolder>${project.build.directory}/${project.build.finalName}</destinationFolder> -->
        <destinationFolder>${basedir}/src/main/webapp/bundle</destinationFolder>
        <jsDestinationFolder>${basedir}/src/main/webapp/js-min</jsDestinationFolder>
        <cssDestinationFolder>${basedir}/src/main/webapp/css-min</cssDestinationFolder>
        <wroFile>${basedir}/src/main/resources/wro.xml</wroFile>
        <extraConfigFile>${basedir}/src/main/resources/wro.properties</extraConfigFile>
        <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
        <ignoreMissingResources>false</ignoreMissingResources>
        <incrementalBuildEnabled>true</incrementalBuildEnabled>
    </configuration>
</plugin>

wro.properties:

# General Configuration
debug=true

gzipResources=true
gzipEnabled=true

#List of preProcessors
preProcessors=googleClosureSimple
#List of postProcessors
postProcessors=yuiCssMin

# naming strategy
hashStrategy=CRC32
namingStrategy=hashEncoder

sourceMapsDestinationFolder=d:/__sourcemaps

incrementalBuildEnabled=true

parallelPreprocessing=true
parallelProcessing=true

我都试过了gzipResourcesgzipEnabled不清楚哪一次用于构建时间解决方案!)。

有人可以告诉我如何在构建时执行 gzip 吗?谢谢。

4

2 回答 2

1

我编写了一个简单的 Maven 插件来做到这一点:gzip JS & CSS 文件。

https://github.com/manikantag/em-maven-resource-optimizer

于 2015-08-30T09:09:50.443 回答
0

maven 插件负责生成简单的最小化资源。它不应该产生 gzip 压缩的内容。为了提供 gzip 压缩的内容,您应该使用专门的过滤器或配置您的容器来处理 gzip 操作。

于 2014-11-03T10:16:44.743 回答