Gwt 如何在vaadin中编译widgetSet?
我正在尝试使用VisualizationsForvadin附加组件。问题是,我必须编译一个自定义widgetSet。我一整天都在处理这个问题,但仍然无法编译它。首先,这里是我的配置:Gwt 如何在vaadin中编译widgetSet?,gwt,vaadin,google-visualization,add-on,Gwt,Vaadin,Google Visualization,Add On,我正在尝试使用VisualizationsForvadin附加组件。问题是,我必须编译一个自定义widgetSet。我一整天都在处理这个问题,但仍然无法编译它。首先,这里是我的配置: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <!-- Version 2.1.0-1 works at least
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<!-- Version 2.1.0-1 works at least with Vaadin 6.5 -->
<version>2.3.0</version>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
<!--modules>
..
</modules-->
<webappDirectory>${project.build.directory}/${project.build.finalName}/VAADIN/widgetsets</webappDirectory>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<runTarget>clean</runTarget>
<hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
<noServer>true</noServer>
<port>8080</port>
<soyc>false</soyc>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
</dependencies>
</plugin>
瓦丁6.7.1
gwt 2.3.0
以下依赖项位于我的pom文件中:
gwt ajaxloader 1.1.0
验证api 1.0.0.GA
gwt可视化1.0.2
gwt用户2.3.0
可视化福伐他汀1.1.2。
当我尝试使用maven gwt插件编译widgetSet时,我遇到了一个异常:
Loading inherited module 'com.google.gwt.core.XSLinker'
[ERROR] Line 22: Unexpected element 'when-linker-added'
[ERROR] Failure while parsing XML
有趣的是,据我所知,自动加载的GWTDev库是版本2.0.3
我尝试了一切可能的,甚至是不可能的,但仍然一无所获。在某些时候,我遇到了其他异常,抱怨无法解决验证类的导入问题。我认为,这已经被其他一些依赖性解决了。请帮忙。多谢各位
POM配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<!-- Version 2.1.0-1 works at least with Vaadin 6.5 -->
<version>2.3.0</version>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
<!--modules>
..
</modules-->
<webappDirectory>${project.build.directory}/${project.build.finalName}/VAADIN/widgetsets</webappDirectory>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<runTarget>clean</runTarget>
<hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
<noServer>true</noServer>
<port>8080</port>
<soyc>false</soyc>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
</dependencies>
</plugin>
下面是GWT依赖项
<dependency>
<groupId>com.google.gwt.google-apis</groupId>
<artifactId>gwt-visualization</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>com.google.gwt.google-apis</groupId>
<artifactId>gwt-ajaxloader</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.vaadin.addons</groupId>
<artifactId>visualizationsforvaadin</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
我有一个功能齐全的Vaadin项目,在Eclipse中有定制的小部件,在项目中的任何地方都找不到任何对GWTDev的引用。转到项目属性->Java构建路径->库,删除对gwt-dev的所有引用。同时将其从pom.xml中删除,并尝试重新编译widgetset
编辑:它也可能是您的gwt用户依赖项。如果gwt user版本尚未设置为2.3.0,请尝试将其设置为2.3.0,并将范围设置为提供。我有一个功能齐全的Vaadin项目,在Eclipse中有自定义小部件,在该项目的任何地方都找不到对gwt dev的任何引用。转到项目属性->Java构建路径->库,删除对gwt-dev的所有引用。同时将其从pom.xml中删除,并尝试重新编译widgetset
编辑:它也可能是您的gwt用户依赖项。如果gwt user的版本尚未设置为2.3.0,请尝试将其设置为2.3.0,并将范围设置为“提供”。在过去的两天中,我一直在努力解决这个问题。 供日后参考: 您需要的是:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<version>${versions.vaadin}</version>
</dependency>
按如下方式配置gwt maven插件您可能不需要我使用的所有配置,当然:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${versions.gwt}</version>
<configuration>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets
</webappDirectory>
<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets
</hostedWebapp>
<noServer>true</noServer>
<draftCompile>true</draftCompile>
<compileReport>false</compileReport>
<style>DETAILED</style>
<runTarget>http://localhost:8080/</runTarget>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
vaadin maven插件:
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${versions.vaadin}</version>
<executions>
<execution>
<configuration>
<!--<modules>
<module>org.vaadin.aceeditor.AceEditorWidgetSet</module>
</modules>-->
</configuration>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
</plugin>
您可能还需要配置maven clean插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>
${basedir}/src/main/webapp/VAADIN/widgetsets
</directory>
</fileset>
</filesets>
</configuration>
</plugin>
以servlet Ace编辑器的web.xml为例:
<init-param>
<param-name>widgetset</param-name>
<param-value>org.vaadin.aceeditor.AceEditorWidgetSet</param-value>
</init-param>
请注意,我没有将gwt作为依赖项包含在pom.xml中。在过去的两天里,我一直在努力解决这个问题。 供日后参考: 您需要的是:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<version>${versions.vaadin}</version>
</dependency>
按如下方式配置gwt maven插件您可能不需要我使用的所有配置,当然:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${versions.gwt}</version>
<configuration>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets
</webappDirectory>
<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets
</hostedWebapp>
<noServer>true</noServer>
<draftCompile>true</draftCompile>
<compileReport>false</compileReport>
<style>DETAILED</style>
<runTarget>http://localhost:8080/</runTarget>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
vaadin maven插件:
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${versions.vaadin}</version>
<executions>
<execution>
<configuration>
<!--<modules>
<module>org.vaadin.aceeditor.AceEditorWidgetSet</module>
</modules>-->
</configuration>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
</plugin>
您可能还需要配置maven clean插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>
${basedir}/src/main/webapp/VAADIN/widgetsets
</directory>
</fileset>
</filesets>
</configuration>
</plugin>
以servlet Ace编辑器的web.xml为例:
<init-param>
<param-name>widgetset</param-name>
<param-value>org.vaadin.aceeditor.AceEditorWidgetSet</param-value>
</init-param>
请注意,我没有将gwt作为依赖项包含在pom.xml中。我可以看看您的pom.xml或至少它的相关部分吗?自动加载的gwt开发库是什么意思?您好,我已经从POM文件中添加了相关部分。正如我所读到的,gwt开发库不应该包含在依赖项中。但是,我在2.3.0版本的插件依赖项中有gwt dev,但是在Maven libs下的eclipse中,我看到了2.0.3版本。我可以看到pom.xml或至少它的相关部分吗?自动加载的gwt开发库是什么意思?您好,我已经从POM文件中添加了相关部分。正如我所读到的,gwt开发库不应该包含在依赖项中。但是,我在2.3.0版本的插件依赖项中有gwt dev,但是在Maven libs下的eclipse中,我看到了2.0.3版本。谢谢。关键部分是正确定义输出目录。这是${basedir}/src/main/webapp/VAADIN/widgetsets谢谢。关键部分是正确定义输出目录。此${basedir}/src/main/webapp/VAADIN/widgetsets