2013-05-15 50 views
7

Mam własny motyw dla mojej aplikacji VAADIN w src/main/webapp/VAADIN/themes/mytheme/z plikami mytheme.scss i styles.scss. Wszystko działa poprawnie, gdy parametr wdrażania vaadin productionMode ma wartość false w pliku web.xml. Kiedy ustawić parametr na true, nagle Vaadin nie może znaleźć środki dla mojego tematu i wciąż skarży się:VAADIN nie może znaleźć motywów w trybie productionMode

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 

nie mam katalogu/WebContent/webapp, ale zamiast tego, ponieważ jej projekt Maven webapp. Próbowałem oddanie folder Vaadin do:
src/main/resources
src/main/webapp
src/main/webapp/WEB-INF

ale nic nie działa w trybie produkcyjnym. Jakieś sugotypy? Z góry dziękujemy za pomoc.

Odpowiedz

12

Trzeba dodać następujący cel Twojego pom.xml, które zestawiają .scss pliki .css plików:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>java</goal> 
      </goals> 
      <configuration> 
       <classpathScope>compile</classpathScope> 
       <mainClass>com.vaadin.sass.SassCompiler</mainClass> 
       <arguments> 
        <argument>src/main/webapp/VAADIN/themes/heijunka/styles.scss</argument> 
        <argument>src/main/webapp/VAADIN/themes/heijunka/styles.css</argument> 
       </arguments> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Źródło: http://dev.vaadin.com/ticket/10291

+0

Dziękuję za odpowiedź. Działa z celem maven. Nie mogłem google ticket. Błędne słowa kluczowe, jak sądzę. W każdym razie nienawidzę stylizacji w Vaadin :) –

+0

Czy jest też proste rozwiązanie dla IVY? Dzięki – Hons

+1

Zgodnie z biletem nowy "kompilatorowy" cel istnieje teraz w vaadin-maven-plugin, ale jest domyślnie wyłączony podczas generowania projektu z "mvn archetype: generate". – Boris

3

@Develman już odpowiedział jak naprawić problem, ale trochę więcej wyjaśnień.

Gdy aplikacja Vaadin jest w trybie programowania, automatycznie wykonuje kompilację SCSS -> CSS, gdy wymagany jest plik styles.css, a plik nie istnieje. W trybie produkcji tak się nie dzieje. Jeśli istnieje plik styles.css, niezależnie od trybu, plik jest używany i nie ma kompilacji SCSS -> CSS.

+1

Dobrze to knwo. Dzięki za wyjaśnienie. –

1

mam ten błąd nawet chociaż Dodałem cel maven do pom.xml końcu poznali przyczynę, jego powodu mam włączony tryb produkcyjny Vaadin na web.xml Kiedy więc produkcja na tryb , nie generuje pliku styles.css. Musisz wyłączyć tryb produkcji, aby włączyć tę kompilację SCSS -> CSS.

<context-param> 
    <description>Vaadin production mode</description> 
    <param-name>productionMode</param-name> 
    <param-value>false</param-value> 
</context-param>