我正在使用gwt-maven-plugin,并且自最近以来,我的IDE(日蚀氧气)中出现了奇怪的错误。经过研究后,我意识到gwt-maven-plugin在eclipse或命令行中运行时的行为有所不同。
在命令行上,一切正常,并且gwt:css创建一个具有正确可见性的接口(公共)。但是,当我在eclipse中运行它时,public
丢失了,因此我遇到了eclipse中的所有错误,因为这些类不再可以访问该接口了。我正在使用gwt 2.6.1,JDK 1.8.0(但构建本身是1.6)和maven 3.5.2。
任何主意是什么原因造成的?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test</goal>
<goal>css</goal>
<goal>generateAsync</goal>
<goals>
</execution>
</executions>
<configuration>
<skip>${gwt.skipcompile.config}</skip>
<inplace>true</inplace>
<module>${gwt.module.config}</module>
<runTarget>Config.html</runTarget>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<extraJvmArgs>-Xmx1024M -Xss1024k</extraJvmArgs>
<compileReport>true</compileReport>
<cssFiles>
<cssFile>MyCss.css</cssFile>
</cssFiles>
//And the code is generated like this (eclipse):
interface MyCss extends CssResource ...
//in command line
public interface MyCss extends CssResource ...
答案 0 :(得分:2)
gwt-maven-plugin
委托给GWT InterfaceGenerator,并且没有添加public
修饰符。您可以查看git-log并确认情况一直如此(已报告sometimes)。因此,您不能从命令行执行插件目标,而应使用其他方法。例如,您可能有一个脚本,该脚本使用public
(或类似的东西)添加了awk
修饰符,并且该脚本不是从eclipse执行的。
旁注:您确实应该升级GWT和gwt-maven-plugin
。