2

我们正在使用 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

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

4

2 回答 2

3

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

对于一些速度较慢的处理器,有一个替代方案,比如用 less4j 代替 rhinoLessCss。

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

parallelPreprocessing=true 

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

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

于 2013-07-19T06:59:42.057 回答
1

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

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

我们使用的是 1.5.0 版本

任何建议。

于 2013-07-19T23:14:47.393 回答