1

、およびリソースwro4j-maven-pluginの前処理に を使用しています。.js.css.less

ファイルに構文エラーが含まれている場合など、プリプロセッサが失敗した場合、.lessプラグインはビルドでスタックトレースを出力し、ビルドを続行します。

これにより、ビルド プロセスを監視する必要が生じたり、リソースが破損するリスクが生じます。このプラグインをfailOnErrorのようにする方法はありますAntRunか?

pom.xml:

<plugin>
    <groupId>ro.isdc.wro4j</groupId>
    <artifactId>wro4j-maven-plugin</artifactId>
    <version>1.4.5</version>
    <executions>
      <execution>
        <phase>compile</phase>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
        <minimize>true</minimize>
        <jsDestinationFolder>${basedir}/WebContent/resources/min/js/</jsDestinationFolder>
        <cssDestinationFolder>${basedir}/WebContent/resources/min/css/</cssDestinationFolder>
        <contextFolder>${basedir}/WebContent/</contextFolder>
        <wroFile>${basedir}/WebContent/WEB-INF/wro.xml</wroFile>
        <extraConfigFile>${basedir}/WebContent/WEB-INF/wro.properties</extraConfigFile>
        <ignoreMissingResources>false</ignoreMissingResources>
        <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    </configuration>
</plugin>

wro.properties:

preProcessors=cssUrlRewriting,cssImport,yuiJsMin
postProcessors=lessCss,yuiCssMin
4

1 に答える 1

0

例外が発生したときの lessCss プロセッサのデフォルトの動作は、処理を中止し、リソースを変更しないままにすることです。この背後にある理由は、有効な css が lessCss で処理されると、Less の観点からは無効な構文であるため失敗する可能性があるためです。これは通常、混合リソース (css & less) を処理するときに発生します。

次の wro4j バージョン (1.4.7) では、リソース処理中に例外を処理するときのデフォルトの動作が変更されます。したがって、例外が発生すると、全体的な処理が失敗します (この動作を構成することが可能になります)。

以前のバージョン (1.4.5 を含む) には回避策があります。LessCssProcessor を拡張し、onException メソッドをオーバーライドできます。例:

/**
 * Invoked when a processing exception occurs.
 */
protected void onException(final WroRuntimeException e) {
   throw e;
}

代わりにこの新しいプロセッサを使用すると、プロセッサが失敗するたびにビルドが失敗します。

于 2012-06-22T19:03:50.430 に答える