For what its worth, I'm not seeing any such issues in opening classes within the 2.19 jar (source or binary) - any chance you've just got a corrupt local copy, or that your org has a maven repo with a corrupt copy?
On Wednesday, August 29, 2018 at 4:24:59 PM UTC-5, Jörg Hohwiller wrote: > > Hi there, > I am maintaining my project and did some upgrades including gwt 2.8.2 from > 2.7.0. > Now my JUnit based on GwtTestCase is failing with: > > java.lang.NoSuchFieldError: FIREFOX_38 > at > com.google.gwt.junit.RunStyleHtmlUnit.<clinit>(RunStyleHtmlUnit.java:203) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:264) > at com.google.gwt.junit.JUnitShell.createRunStyle(JUnitShell.java:1181) > at com.google.gwt.junit.JUnitShell.doStartup(JUnitShell.java:942) > at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:913) > at > com.google.gwt.junit.JUnitShell.getUnitTestShell(JUnitShell.java:698) > at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:672) > at > com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:421) > at junit.framework.TestCase.runBare(TestCase.java:141) > at junit.framework.TestResult$1.protect(TestResult.java:122) > at junit.framework.TestResult.runProtected(TestResult.java:142) > at junit.framework.TestResult.run(TestResult.java:125) > at junit.framework.TestCase.run(TestCase.java:129) > at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:247) > at junit.framework.TestSuite.runTest(TestSuite.java:252) > at junit.framework.TestSuite.run(TestSuite.java:247) > at > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) > > I found out that gwt-dev is depending on htmlunit 2.19 but due some > dependency management I was using 2.29 instead. > > So I overrode this again in my pom.xml: > > <dependency> > <groupId>net.sourceforge.htmlunit</groupId> > <artifactId>htmlunit</artifactId> > <version>2.19</version> > <scope>test</scope> > </dependency> > > Now I am getting this error: > > java.lang.NoClassDefFoundError: > com/gargoylesoftware/htmlunit/BrowserVersion > at > com.google.gwt.junit.RunStyleHtmlUnit.<clinit>(RunStyleHtmlUnit.java:202) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:264) > at com.google.gwt.junit.JUnitShell.createRunStyle(JUnitShell.java:1181) > at com.google.gwt.junit.JUnitShell.doStartup(JUnitShell.java:942) > at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:913) > at > com.google.gwt.junit.JUnitShell.getUnitTestShell(JUnitShell.java:698) > at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:672) > at > com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:421) > at junit.framework.TestCase.runBare(TestCase.java:141) > at junit.framework.TestResult$1.protect(TestResult.java:122) > at junit.framework.TestResult.runProtected(TestResult.java:142) > at junit.framework.TestResult.run(TestResult.java:125) > at junit.framework.TestCase.run(TestCase.java:129) > at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:247) > at junit.framework.TestSuite.runTest(TestSuite.java:252) > at junit.framework.TestSuite.run(TestSuite.java:247) > at > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) > Caused by: java.lang.ClassNotFoundException: > com.gargoylesoftware.htmlunit.BrowserVersion > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > ... 24 more > > What is also interesting: When I do go to BrowserVersion.class in the > htmlunit-2.29.jar of my maven-dependencies in Eclipse, it opens fine and > shows the sources. > However, with version 2.19 Eclipse does not open BrowserVersion.class > properly and instead shows: > java.util.zip.ZipException: invalid LOC header (bad signature) > at java.util.zip.ZipFile.read(Native Method) > at java.util.zip.ZipFile.access$1400(ZipFile.java:60) > ... > > So to me it seems like this: > -gwt-dev is hardwired against htmlunit 2.19 and refers to specific > BrowserVersion constant fields that are gone in newer versions. > -for some strange reason htmlunit 2.19 deployment in maven central is > broken (has a damaged JAR deployed to the world) > > Any ideas or workarounds? I already tried 2.18 and 2.20 with no luck (e.g. > getting NoSuchFieldError: INTERNET_EXPLORER_8). > Seems I am locked out by gwt. Also does not work with 2.8.1. > > Thanks in advance for any hint or suggestion. > > Kind regards > Jörg > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/75c8da59-8ad8-435a-8718-b0e3f65a3db1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
