在productionMode中,VAADIN找不到主题

我在我的VAADIN应用程序中有src / main / webapp / VAADIN / themes / mytheme /文件mytheme.scss和styles.scss的自定义主题。 当weba中的vaadin productionMode部署参数设置为false时,一切正常。 当我将参数设置为true时,突然Vaadin无法找到我主题的资源并继续抱怨:

Requested resource [/VAADIN/themes/mytheme/styles.css] not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder 

我没有/ WebContent目录,而是/ webapp,因为它是一个maven web-app项目。 我尝试将VAADIN文件夹放到:
的src / main /资源
的src /主/ web应用
的src /主/ web应用/ WEB-INF

但没有什么适用于生产模式。 有什么药物吗? 提前感谢您的帮助。

您需要将以下目标添加到pom.xml,它将.scss文件编译为.css文件:

  org.codehaus.mojo exec-maven-plugin 1.2.1   generate-sources  java   compile com.vaadin.sass.SassCompiler  src/main/webapp/VAADIN/themes/heijunka/styles.scss src/main/webapp/VAADIN/themes/heijunka/styles.css      

资料来源: http : //dev.vaadin.com/ticket/10291

@Develman已经回答了如何解决这个问题,但还有一些解释。

当Vaadin应用程序处于开发模式时,它会在请求styles.css并且文件不存在时自动执行SCSS – > CSS编译。 在生产模式中,这不会发生。 如果styles.css存在,则无论模式如何,都使用该文件,并且没有SCSS – > CSS编译。

我甚至得到了这个错误 – 虽然我已经将maven目标添加到pom.xml最后了解原因,因为我已经在web.xml上启用了Vaadin的生产模式所以当生产模式开启时,它不会生成样式。 css文件。 因此,您需要禁用生产模式才能启用此SCSS – > CSS编译。

  Vaadin production mode productionMode false