2014-10-31 43 views
3

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

下面是配置我有:

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吗?谢谢。

+0

我问https://issues.apache.org/jira/browse/MWAR-354,因为我没有看到香草行家这样做的方式,它应该在那里。 – 2015-08-28 05:54:09

回答

0

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

+1

呵呵...现在Tomcat 8支持预压缩资源(http://tomcat.apache.org/tomcat-8.0-doc/default-servlet.html),现在这个功能更有意义,我认为。有什么办法可以使用wro4j运行时gzipping功能来实现构建时间gzipping?谢谢。 – manikanta 2014-11-04 00:36:31

+0

有ro.isdc.wro.http.GzipFilter实现可以帮助你。你也可以使用Spring提供的类似实现(不记得类名)。 – 2014-11-04 07:48:38

相关问题