繁体   English   中英

如何将SASS插件目标绑定到tomcat7部署阶段(Maven)

[英]How to bind SASS plugin goal to tomcat7 deploy phase (maven)

我正在开发一个在Tomcat7上运行的webapp,并使用maven进行依赖项/自动构建。 昨天我开始使用sass-maven-plugin ,这很棒。 其目标sass:update-stylesheets处理sass文件并输出css。 不幸的是,我无法在webapp打包期间执行它。 我也是Maven的新手,所以我可能错过了一些东西。 这是我的理解:

  • 当我键入mvn tomcat7:deploy ,maven执行在tomcat7插件中定义的deploy目标
  • 该插件经历了开发生命周期的某些阶段。 更具体地说,如doc中所述,它“在执行自身之前先调用生命周期阶段程序包”。
  • 如果我将目标sass:update-stylesheets映射到<build><executions/></build>的包阶段,则应在每次部署/重新部署应用程序时执行。

当我独立于tomcat7:deploy运行mvn sass:update-stylesheets ,一切都很顺利。 sass-maven-plugin从src / main / resources获取.scss文件,对其进行处理并将输出放置在src / main / webapp / resources中,我希望将其与我的webapp一起部署。 不幸的是,如果我在tomcat7:deploy之前没有运行命令,则我的页面没有任何CSS。 我怎么了? 此外,例如,有什么方法可以将sass:update-stylesheets映射到阶段process-resources ,这更有意义吗? 最后,如果这一切都可行,那么Eclipse的增量构建是否可以使用它?

这是我的pom.xml(相关部分)

    ...

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    ...
                </configuration>
            </plugin>

            <!-- SASS processing -->
            <plugin>
                <groupId>org.jasig.maven</groupId>
                <artifactId>sass-maven-plugin</artifactId>
                <version>1.1.1</version>
                <executions>
                    <execution>
                        <id>generate-css</id>
                        <phase>package</phase>
                        <goals>
                            <goal>update-stylesheets</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <useCompass>true</useCompass>
                    <resources>
                        <resource>
                            <source>
                                <directory>${basedir}/src/main/resources</directory>
                            </source>
                            <destination>${basedir}/src/main/webapp/resources</destination>
                        </resource>
                    </resources>
                </configuration>
            </plugin>


        </plugins>
    </pluginManagement>
</build>

在此先感谢您的帮助。

您已经在“插件管理”部分中配置了相关内容。 请移动执行并将其绑定到build部分(即,从pluginManagement的plugins部分移至build的plugins部分)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM