Ошибка компиляции GWT - PullRequest
       39

Ошибка компиляции GWT

1 голос
/ 20 февраля 2012

После внесения некоторых изменений в мой проект GWT (добавление защищенных ресурсов) я больше не могу его запускать.

Это дает 500 при попытке использовать плагин разработчика GWT. Однажды у меня была похожая ошибка (Invalid pc in LineNumberTable в классе) в другом проекте, в котором я решил установить GWT 2.x как верхнюю библиотеку в порядке пути сборки моей Eclipse 3.6 IDE.

20-feb-2012 19:00:33 org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet jsp threw exception

java.lang.ClassFormatError: Invalid pc in LineNumberTable in class file org/eclipse/jdt/internal/compiler/lookup/TypeBinding
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at org.eclipse.jdt.internal.compiler.Compiler.<init>(Compiler.java:260)
    at org.eclipse.jdt.internal.compiler.Compiler.<init>(Compiler.java:153)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
    at java.lang.Thread.run(Thread.java:662)

Редактировать: classpath

<classpath>
    <classpathentry exported="true" kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER/GWT"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" output="test-classes" path="test"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="lib" path="C:/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201201120043-rel-r36/gwt-2.4.0/validation-api-1.0.0.GA-sources.jar"/>
    <classpathentry kind="lib" path="C:/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201201120043-rel-r36/gwt-2.4.0/validation-api-1.0.0.GA.jar" sourcepath="C:/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201201120043-rel-r36/gwt-2.4.0/validation-api-1.0.0.GA-sources.jar"/>
    <classpathentry kind="lib" path="WebContent/WEB-INF/lib/sqljdbc4.jar"/>
    <classpathentry kind="lib" path="WebContent/WEB-INF/lib/NeptunoMetascada.jar"/>
    <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.6.4.jar"/>
    <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-jdk14-1.6.4.jar"/>
    <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>

1 Ответ

0 голосов
/ 05 марта 2012

Я не совсем уверен, поможет ли это вашей проблеме, но есть несколько вещей, которые мне кажутся подозрительными.

Во-первых, я бы удалил отдельные записи api validation-api, так как ониВы в любом случае являетесь частью контейнера GWT.

Во-вторых, контейнер GWT помечается как экспортируемый, что не должно быть необходимо.Все, что вам нужно, это gwt-servlet.jar в вашем WEB-INF / lib, который не нуждается в отдельной записи classpath, как в библиотеках веб-приложений.

В-третьих, все выглядит так, как будто в ИнтернетеКонтейнер библиотек приложений отсутствует, где у вас есть несколько jar-файлов, перечисленных в явном виде:

<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>

Как уже упоминалось, я не слишком уверен, поможет ли это вашей реальной проблеме - он просто выгляделстранно для меня.

...