wro4j-maven-plugin表现缓慢

时间:2013-07-19 05:38:24

标签: maven wro4j

我们正在使用wro4j maven插件来处理css。我们有这么多的CSS和构建时的wro处理几乎需要10~20分钟。

如果我使用maven并行选项,则减少到8分钟。

我仍然希望尽可能缩短其构建时间。

有没有更好的方法来处理已更改的文件。

我的示例pom.xml文件是

    <plugin>
            <groupId>ro.isdc.wro4j</groupId>
            <artifactId>wro4j-maven-plugin</artifactId>
            <version>1.6.3</version>
            <executions>
                <execution>
                    <id>manage-assets</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>                     <targetGroups>myapp${minifier.suffix},myapp.head${minifier.suffix},myapp.tail${minifier.suffix},myapp.compfurniture.head${minifier.suffix},myapp.compfurniture.tail${minifier.suffix},myapp.compfurniture${minifier.suffix},myapp.compfurniture.oldie${minifier.suffix},myapp.oldie${minifier.suffix},myapp.public${minifier.suffix}</targetGroups> 
                        <minimize>true</minimize>
                        <ignoreMissingResources>false</ignoreMissingResources>                          
                        <contextFolder>${assets.folder.aggregate}</contextFolder>                           <destinationFolder>${assets.folder.aggregate}</destinationFolder>                           <cssDestinationFolder>${assets.folder.aggregate}/css</cssDestinationFolder>                         <jsDestinationFolder>${assets.folder.aggregate}/js</jsDestinationFolder>                                                                        
                        <wroFile>${project.build.directory}/wro4j/wro.xml</wroFile>
                        <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
                        <extraConfigFile>${project.build.directory}/wro4j/wro.properties</extraConfigFile>                          <groupNameMappingFile>${project.build.directory}/wro4j/wro-namingstrategy.properties</groupNameMappingFile>                                     
                    </configuration>
                </execution>
            </executions>           
        </plugin>

wro4j.properties

preProcessors=cssImport,semicolonAppender 
postProcessors=lessCss,cssMinJawr,jsMin
parallelPreprocessing=true

如果有人试过,请告诉我。

2 个答案:

答案 0 :(得分:3)

以下是您的问题的答案:https://code.google.com/p/wro4j/wiki/IsWro4jSlow

对于一些慢速处理器,有一种替代方案,比如less4j而不是rhinoLessCss。

还有一个技巧:将以下配置属性添加到wro.properties:

parallelPreprocessing=true 

默认情况下,此标志为false。请注意,此功能是实验性的,因此请谨慎使用。如果您发现任何问题,请在项目页面问题跟踪器上报告。

值得一提的是,有更新版本的wro4j可用 - 1.7.0,其中包含一些改进和更新。

答案 1 :(得分:1)

我们在后处理程序级别遇到问题,因为我们的后期处理有uglifyJs需要花费很多时间。是否有任何标志可以在后处理器级别或组级别启用并行处理。我看不到任何配置标志。

还有一种方法可以在插件本身中设置此并行处理条件,而不是在属性文件中设置它

我们使用的是1.5.0版本

任何建议。