少禁用自动编译(Disable auto compilation of LESS)

2019-10-21 13:16发布

我在Eclipse环境。 我想少编译只有当通过MVN包装显式调用。 目前,只要我做,我不太文件进行任何更改它的传播改变CSS。 我应该怎么做才能避免这种情况?

<plugin>
  <groupId>org.lesscss</groupId>
  <artifactId>lesscss-maven-plugin</artifactId>
  <version>1.7.0.1.1</version>
  <configuration>
    <watch>false</watch>
    <sourceDirectory>src/main/webapp/css</sourceDirectory>
    <outputDirectory>src/main/webapp/css</outputDirectory>
    <compress>true</compress>
    <force>true</force>
    </configuration>
  <executions>
    <execution>
      <goals>
        <goal>compile</goal>
      </goals>
      <phase>package</phase>
    </execution>
  </executions>
</plugin>

也张贴了这个问题, 在这里

Answer 1:

作为一种变通方法我已经封装LESS插件配置文件中。 在服务器端我调用该配置文件少做编译

mvn package -pless_compile


Answer 2:

m2eclipse的是一个Eclipse插件,提供紧密集成对Maven。 它决定谁当插件应执行。 每个插件可以存储与在其上基于其决定(见数据生命周期映射元数据M2E兼容行家插件 )。 默认情况下,这个插件被称为增量构建:

<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <goals>
                    <goal>compile</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <execute>
                    <runOnIncremental>true</runOnIncremental>
                    <runOnConfiguration>false</runOnConfiguration>
                </execute>
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>

如果您希望禁用自动编译,那么你需要下面的条目添加到您pom.xml

<pluginManagement>
   <plugins>
      <plugin>
         <groupId>org.eclipse.m2e</groupId>
         <artifactId>lifecycle-mapping</artifactId>
         <version>1.0.0</version>
         <configuration>
            <lifecycleMappingMetadata>
               <pluginExecutions>
                  <pluginExecution>
                     <pluginExecutionFilter>
                        <groupId>org.lesscss</groupId>
                        <artifactId>lesscss-maven-plugin</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                           <goal>compile</goal>
                        </goals>
                     </pluginExecutionFilter>
                     <action>
                        <ignore />
                     </action>
                  </pluginExecution>
               </pluginExecutions>
            </lifecycleMappingMetadata>
         </configuration>
      </plugin>
   </plugins>
</pluginManagement>


Answer 3:

您需要定义在Maven的阶段要执行你的插件,基本上添加的phase下标签execution标签。 就拿看下面的例子: http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag 。



文章来源: Disable auto compilation of LESS