Friday, February 1, 2019

Re: upgrade gwt 2.7 to gwt 2.8.1 not working

Thanks! You answered this question over a year and a half ago, but I just hit this very problem while converting an app from 2.7.0 to 2.8.2. (Why now? With Oracle cutting off Java 8, we moved to Amazon Corretto, and found some old imaging stuff that would not work with OpenJDK. As long as I was correcting this and moving from Java 6 to OpenJDK 8--and with this weeks Canary problems in mind--I decided to bump GWT as well.)

Interesting what you say about Jetty in 2.7.0: I've never had a problem with Servlet spec 2.5 and GWT 2.7.0 (this app has used 2.5 for years). 

From my testing with Tomcat 8.5, I can still use servlet 2.5 or 3.0 in the web.xml header of the deployed app. Have you seen issues in deployment? I ask because we've one customer who runs WebLogic and their current version--12.1.3.0.0--only supports up to 3.0.

On Wednesday, May 10, 2017 at 5:35:50 AM UTC-4, Thomas Broyer wrote:


On Wednesday, May 10, 2017 at 6:57:25 AM UTC+2, Gal Lavie wrote:
Hi everyone
I develop application in gwt and google app engine.
until now i used with gwt 2.7 lib and google app engine 1.51 lib
i try to upgrade the gwt 2.7 to 2.8.1 lib
and i have 2 problems now 
i hope you can help me
1) when i try to run the project i get exception in devModeBase.class file in run method 
this is the log of run + exception:

Running CodeServer with parameters: [-noprecompile, -port, 65462, -sourceLevel, 1.8, -bindAddress, 127.0.0.1, -launcherDir, /Users/gallavie/Documents/workspace/Darimpo/war, -logLevel, INFO, -style, OBFUSCATED, com.darimpo.Darimpo, com.darimpo.Darimpo]

Super Dev Mode starting up

   workDir: /var/folders/fj/8gtg078929j8hjtfzyy5srv40000gn/T/gwt-codeserver-8030568012575356208.tmp

2017-05-10 06:44:10.582:INFO::main: Logging initialized @3822ms

   Loading Java files in com.darimpo.Darimpo.

   Ignored 33 units with compilation errors in first pass.

Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.

   Module setup completed in 4961 ms

   Loading Java files in com.darimpo.Darimpo.

   Ignored 33 units with compilation errors in first pass.

Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.

   Module setup completed in 1273 ms

2017-05-10 06:44:15.046:INFO:oejs.Server:main: jetty-9.2.z-SNAPSHOT

2017-05-10 06:44:15.164:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@7a508fdc{/,null,AVAILABLE}

2017-05-10 06:44:15.301:INFO:oejs.ServerConnector:main: Started ServerConnector@4ca4b342{HTTP/1.1}{127.0.0.1:65462}

2017-05-10 06:44:15.313:INFO:oejs.Server:main: Started @8553ms


The code server is ready at http://127.0.0.1:65462/

Code server started in 6.828 s ms

2017-05-10 06:44:15.702:INFO:oejs.Server:main: jetty-9.2.z-SNAPSHOT

2017-05-10 06:44:19.948:WARN:oejuc.AbstractLifeCycle:main: FAILED org.eclipse.jetty.annotations.ServletContainerInitializersStarter@1e23623: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getJspConfigDescriptor()Ljavax/servlet/descriptor/JspConfigDescriptor;

java.lang.NoSuchMethodError: javax.servlet.ServletContext.getJspConfigDescriptor()Ljavax/servlet/descriptor/JspConfigDescriptor;


Check your classpath, you probably have Servlets API in version 2.x (2.4, 2.5). This method was added in Servlets 3.0 (https://docs.oracle.com/javaee/7/api/javax/servlet/ServletContext.html#getJspConfigDescriptor--), and Jetty 9.2.14.v20151106 (the version that GWT uses) actually needs Servlets 3.1.0 (https://search.maven.org/#artifactdetails%7Corg.eclipse.jetty%7Cjetty-project%7C9.2.14.v20151106%7Cjar)
(GWT 2.7.0 was using Jetty 8.1.12.v20130726, which BTW already needed Servlets 3.0 https://search.maven.org/#artifactdetails%7Corg.eclipse.jetty%7Cjetty-project%7C8.1.12.v20130726%7Cjar, but could have maybe worked OK with Servlets 2.5 – I doubt it, maybe you changed the order of JARs in your classpath when upgrading; GWT 2.7 used to bundle the Servlets API into gwt-dev, and this has changed in 2.8.1, when retrieved from the Central Repository)

2) when i try to compile the project i get this exception 



   [ERROR] An internal compiler exception occurred

com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error during visit.

at com.google.gwt.dev.jjs.ast.JVisitor.translateException(JVisitor.java:111)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:276)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)

at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:76)

at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)

at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:49)

at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)

at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)

at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:94)

at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)

at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)

at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:83)

at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:786)

at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:778)

at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:1401)

at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:896)

at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.unifyJavaAst(JavaToJavaScriptCompiler.java:1410)

at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.constructJavaAst(JavaToJavaScriptCompiler.java:1222)

at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:1140)

at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:255)

at com.google.gwt.dev.Precompile.precompile(Precompile.java:255)

at com.google.gwt.dev.Precompile.precompile(Precompile.java:202)

at com.google.gwt.dev.Precompile.precompile(Precompile.java:143)

at com.google.gwt.dev.Compiler.compile(Compiler.java:204)

at com.google.gwt.dev.Compiler.compile(Compiler.java:155)

at com.google.gwt.dev.Compiler.compile(Compiler.java:144)

at com.google.gwt.dev.Compiler$1.run(Compiler.java:118)

at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)

at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)

at com.google.gwt.dev.Compiler.main(Compiler.java:125)

Caused by: java.lang.NoClassDefFoundError: com/google/gwt/core/ext/typeinfo/HasMetaData

at com.google.gwt.maps.jsio.rebind.JSWrapperGenerator.hasTag(JSWrapperGenerator.java:129)

at com.google.gwt.maps.jsio.rebind.TaskFactory$FlyweightPolicy.shouldBind(TaskFactory.java:155)

at com.google.gwt.maps.jsio.rebind.TaskFactory.extractMethods(TaskFactory.java:309)

at com.google.gwt.maps.jsio.rebind.JSWrapperGenerator.generate(JSWrapperGenerator.java:314)


As someone told you already on StackOverflow, HasMetaData has been removed from GWT 2.8, after being deprecated for more than 8 years! (https://github.com/gwtproject/gwt/commit/aa1113205c3c2494d29a8c74cb368fdb497249f8)
You need to either update your gwt-maps dependency (if possible, but it's been unmaintained for years too, I have no idea of its compatibility story) or switch to another Google Maps integration library (or write yours using JsInterop).

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment