Vaadin компилирует Widgetset, используя Maven - PullRequest
2 голосов
/ 05 декабря 2011

У меня проблема с компиляцией пользовательских наборов виджетов для моего приложения vaadin с использованием Maven.

Среди моих модулей maven есть один jar-модуль, содержащий пользовательские виджеты, и один военный модуль.

Скомпилированный jar-модуль содержит источники, а также сгенерированные классы и в основном выглядит так:

com
 |-mypackage
 |  |-ui
 |  | |- VMyWidget.class
 |  | |- VMyWidget.java
 |  |- MyComponent.class
 |  |- MyComponent.java
 |  |- MyWidgetSet.gwt.xml
 |-META-INF
    |-Manifest.MF
       |-Vaadin-Widgetsets: com.mypackage.MyWidgetSet
       |-Vaadin-Package-Version: 1

В моем военном проекте pom.xml содержит следующий раздел:

 <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <version>2.3.0</version>
        <configuration>
          <webappDirectory>${project.build.directory}/${project.build.finalName}/VAADIN/widgetsets</webappDirectory>
          <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
          <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
          <noServer>true</noServer>         
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>generateAsync</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-maven-plugin</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>update-widgetset</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

Фляга, содержащая виджеты, является зависимостью от военного проекта и, таким образом, набор виджетов определен.

Однако компилятор GWT, похоже, не находит источники, хотя они содержатся в артефакте jar.

Таким образом, я получаю следующее предупреждение / сообщение об ошибке:

[INFO] [ОШИБКА] [ПРЕДУПРЕЖДЕНИЕ] Класс виджета com.mypackage.ui.VMyWidget не найден. Компонент com.mypackage.MyComponent не будет включен в набор виджетов.

Чего мне не хватает? Почему компилятор GWT не находит нужные ему источники?

Ответы [ 2 ]

4 голосов
/ 05 декабря 2011

Я думаю, что нашел проблему. Пакет должен быть com.mypackage.client.ui, т.е. кажется, что он должен содержать подпакет client рядом с MyWidgetSet.gwt.xml. Хотя это задокументировано, я упустил это из виду.

Кажется, сейчас работает.

1 голос
/ 25 мая 2016

Я тоже столкнулся с этой проблемой.Я прочитал тысячи ответов на эту тему, но так и не нашел того, что помоглоТогда я заметил, что если вы запускаете tomcat как адаптер в eclipse и внедряете в него свой проект, то иногда после того, как вы соберете свой проект, целевая папка не синхронизируется с eclipse, и вам придется нажмите F5 на нем . После этого действия виджет может быть загружен.

...