我使用Maven为我的vaadin应用程序编译自定义控件集时遇到了问题。Vaadin使用Maven编译Widgetset
在我的maven模块中,有一个包含自定义小部件和一个war模块的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>
包含小部件的jar是war项目的依赖关系,因此定义了小部件集。
但是,尽管GWT编译器包含在jar工件中,但似乎并未找到源代码。
因此,我得到以下警告/错误消息:
[INFO] [错误] [WARN] Widget类com.mypackage.ui.VMyWidget没有被发现。组件com.mypackage.MyComponent将不包含在widgetset中。
我错过了什么?为什么GWT编译器找不到它需要的源代码?