在我的项目中,我有几个Maven模块,其中一个包含用Vaaadin编写的UI。
一切似乎都很好但是当我试图在Tomcat中运行项目时,我在浏览器中收到一个错误,表明Vaadin没有被编译。
任何人都可以描述我应该做什么来强制整个项目的mvn包上的Vaadin编译,或者可能在使用Vaadin的模块上安装mvn吗?
答案 0 :(得分:0)
如果您正在使用vaadin插件,则必须使用GWT编译器编译它们,并且必须使用已编译的widgetset。
最好的方法是使用eclipse插件。你可以通过谷歌搜索它。
使用自定义widgetset:https://vaadin.com/en_GB/book/vaadin6/-/page/gwt.usage.html(vaadin 6)
答案 1 :(得分:0)
我只是假设你不是故意用“防止”这个词。你的pom中有这些插件吗?
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>src/main/webapp/VAADIN/widgetsets</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.plugin.version}</version>
<configuration>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<!-- <runTarget>mobilemail</runTarget> -->
<!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This
way compatible with Vaadin eclipse plugin. -->
<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
<noServer>true</noServer>
<!-- Remove draftCompile when project is ready -->
<draftCompile>false</draftCompile>
<compileReport>true</compileReport>
<style>OBF</style>
<strict>true</strict>
<runTarget>http://localhost:8080/</runTarget>
</configuration>
<executions>
<execution>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
<!-- <modules> <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module>
</modules> -->
</configuration>
<goals>
<goal>resources</goal>
<goal>update-widgetset</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
确保您已定义vaadin.plugin.version
变量以匹配您的Vaadin版本,如果您需要检查“原始”Vaadin应用程序pom中的任何其他内容,请致电:
mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.0.5 -DgroupId=your.company -DartifactId=project-name -Dversion=1.0 -Dpackaging=war
您当然可以更改archetypeVersion以满足您的需求。
如果您的意思是阻止小部件集编译,我想您可以从vaadin-maven-plugin中注释掉resources
和compile
目标。我不是百分之百确定这个,因为我只在Vaadin 6中完成它(..你需要从gwt-maven-plugin中注释出相同的目标)