2012-02-20 2 views
1

После внесения некоторых изменений в мой проект GWT (добавление защищенных ресурсов) я больше не могу его запускать.Ошибка компиляции 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) 

Edit: путь к классам

<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> 
+0

http://stackoverflow.com/questions/2322031/why-did-servlet-service-for-servlet-jsp-throw-this-exception – DTing

+0

Я уже нашел, что ссылка googling перед публикацией этого, никакой помощи. – jpp1jpp1

+0

Опубликовать путь к классу проекта. – Strelok

ответ

0

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

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

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

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

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

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

Смежные вопросы