使用Vaadin和Maven

时间:2013-04-29 18:12:03

标签: maven vaadin

在我的项目中,我有几个Maven模块,其中一个包含用Vaaadin编写的UI。
一切似乎都很好但是当我试图在Tomcat中运行项目时,我在浏览器中收到一个错误,表明Vaadin没有被编译。
任何人都可以描述我应该做什么来强制整个项目的mvn包上的Vaadin编译,或者可能在使用Vaadin的模块上安装mvn吗?

2 个答案:

答案 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中的任何其他内容,请致电:

生成新的Vaadin应用程序
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中注释掉resourcescompile目标。我不是百分之百确定这个,因为我只在Vaadin 6中完成它(..你需要从gwt-maven-plugin中注释出相同的目标)