我们正在使用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
如果有人试过,请告诉我。
答案 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版本
任何建议。