GWT 2.6.1未知编译问题
我知道其他人在编译GWT时遇到了问题,但在这种情况下,我很茫然。 我正在使用GWT 2.6.1和gwt-maven-plugin 2.6.1的相同版本
首先,GWT和/或SmartGWT是否支持JDK 1.8,现在只有1.7? 我使用jdk 1.7,但最终想尝试1.8。
其次,当我在eclipse中做一个maven构建时,我得到了这个错误...然而,当我从GWT Eclipse Plugin执行GWT编译时,我右键单击该项目,然后将它告诉GWT编译,并且它没有的问题。
[INFO] --- gwt-maven-plugin:2.6.1:compile (default) @ rm-ui ---
[INFO] auto discovered modules [com.redi2.products.rm.RevenueManager]
[INFO] Compiling module com.redi2.products.rm.RevenueManager
[INFO] [ERROR] Unexpected internal compiler error
[INFO] java.lang.NoSuchFieldError: warningThreshold
[INFO] at com.google.gwt.dev.javac.JdtCompiler$1.<init>(JdtCompiler.java:505)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.getStandardCompilerOptions(JdtCompiler.java:503)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions(JdtCompiler.java:533)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:878)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:284)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:511)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:434)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:420)
[INFO] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:495)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:241)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:167)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:132)
[INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:99)
[INFO] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
[INFO] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
[INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:106)
下一步就是走出eclipse,并从命令行尝试mvn构建,这是行不通的。 所以,我做了以下几点:
mvn clean - and that correctly deletes my target directory and the gwt-unitCache.
mvn gwt:clean
mvn -X -e gwt:compile --debug
起初,它告诉我,它找不到我的:com.tholmes.products.App.gwt.xml,但我知道它在那里,我甚至删除了该文件并重新添加它。 它是类路径的一部分,并且以正确的格式存在。
所以,我做了一个:
mvn gwt:eclipse
mvn gwt:eclipseTest
这似乎解决了无法找到gwt.xml文件的问题。
所以,现在我再试一次,这就是我所有的调试和堆栈跟踪所得到的结果。
[INFO] Compiling module com.redi2.products.rm.RevenueManager
[INFO] [ERROR] Unexpected internal compiler error
[INFO] java.lang.NoSuchFieldError: warningThreshold
[INFO] at com.google.gwt.dev.javac.JdtCompiler$1.<init>(JdtCompiler.java:505)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.getStandardCompilerOptions(JdtCompiler.java:503)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions(JdtCompiler.java:533)
[INFO] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:878)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:284)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:511)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:434)
[INFO] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:420)
[INFO] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:495)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:241)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:167)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:132)
[INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:99)
[INFO] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
[INFO] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
[INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:106)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.522s
[INFO] Finished at: Fri Sep 05 11:00:36 EDT 2014
[INFO] Final Memory: 15M/222M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.6.1:compile (default-cli) on project rm-ui: Command [[
那么这里有一个巨大的类路径,其结尾是:
...tholmes.m2repositorycomgooglegwtgwt-dev2.6.1gwt-dev-2.6.1.jar
com.google.gwt.dev.Compiler -logLevel INFO -style OBF -war C:Userstholmesgitrm_ui
targetrm-ui-0.0.1-SNAPSHOT -localWorkers 4 -XfragmentCount -1 -sourceLevel auto -gen C:Userstholmesgitrm_uitarget.generated com.redi2.products.rm.RevenueManager
]]在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)处的状态1失败.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)位于org.apache.maven.lifecycle.internal的org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)。 .LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java :161)在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318)在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153)在org.apache.maven.cli.MavenCli.execute( MavenCli.java:555)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)at sun.reflec t.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke( Method.java:606)在org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)在组织.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357)
然后它说:
Caused by: org.codehaus.mojo.gwt.shell.ForkedProcessExecutionException: Command [[
有一个巨大的班级路径,最后以......结尾
... tholmes.m2 repository com google gwt gwt-dev 2.6.1 gwt-dev-2.6.1.jar com.google.gwt.dev.Compiler -logLevel INFO样式的OBF -war C: Users 用户tholmes GIT中 rm_ui 目标 RM-UI-0.0.1-SNAPSHOT -localWorkers 4 -XfragmentCount -1 -sourceLevel自动-gen C:用户 tholmes GIT中 rm_ui target.generated融为一体。 redi2.products.rm.RevenueManager]]失败,状态为1
org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo $ JavaCommand.execute(AbstractGwtShellMojo.java:485)at org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:446)at org.codehaus.mojo。 (org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager。 java:106)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)... 19更多
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
我花了两天时间,并试图解决这个问题。
这是我们在本地git中的一个项目,我宁愿不必从头开始重新创建一个新的UI项目。
谢谢!
首先,GWT和/或SmartGWT是否支持JDK 1.8,现在只有1.7? 我使用jdk 1.7,但最终想尝试1.8。
2.6中的GWT编译器不支持Java 1.8。 git中的当前版本的GWT也没有,但是有一个分支正在增加支持。 非常短的版本问题:语言功能本身并不算太坏(而且所描述的分支已经有了它们),但是新的JRE库功能也需要移植(并且合法!不能仅仅从Oracle的代码,这种方式是诉讼)。
java.lang.NoSuchFieldError: warningThreshold
两个可能的问题都可能导致这两个类路径相关。
第一个是gwt版本问题 - 你在某种程度上混合并匹配了GWT的版本。 仔细查看完整内容(但不包括在这个问题中,所以我不能给你更具体的内容),你可能会在其他地方找到GWT 2.5或2.4的额外副本。 我怀疑这是最有可能的,因为它倾向于特定于您的GWT升级。
另一个选择是你的类路径中有另一个(很可能是较老的)JDT(因为GWT 2.6已更新为新的JDT版本)。 请参阅相关问题GWT + Spring托管模式不起作用 - 这是在讨论dev模式,但它是相同的想法。 这对我来说似乎不太可能,因为你应该在eclipse或maven中使用相同的类路径,但仍然有可能。
链接地址: http://www.djcxy.com/p/44123.html