我正在开发一个在Tomcat7上运行的webapp,并使用maven进行依赖/自动构建。昨天我开始使用sass-maven-plugin,这很棒。它的目标sass:update-stylesheets
处理sass文件并输出css。不幸的是,我无法在webapp打包期间执行它。我对maven也很陌生,所以我可能错过了一些东西。这是我的理解:
mvn tomcat7:deploy
时,maven执行tomcat7插件中定义的deploy
目标<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>
提前感谢您的帮助。
答案 0 :(得分:1)
您已在插件管理部分配置了这些内容。请移动执行并将其绑定到构建部分(即,从pluginManagement的插件部分到build的插件部分)。