herencia GWT módulo y el código fuente no está disponible en tiempo de aplicación que se ejecuta

StackOverflow https://stackoverflow.com/questions/4276836

  •  28-09-2019
  •  | 
  •  

Pregunta

Estoy empezando a utilizar GWT para un proyecto de clase y quería saber los casos de uso reales para RPC. Por lo tanto, me encontré con este ejemplo en este mismo sitio web: desbordamiento de pila - RPC simple Caso de uso Problema (código incluido)

¿Por qué lo hice este ejemplo? porque me estaba poniendo los mismos errores que el usuario ha escrito en mi propio proyecto y decidió tratar de seguir su código en mi equipo para ver si podía realmente hacer frente a mis propios errores.

Así que el punto es que después de copiar los archivos en un proyecto de Eclipse GWT y desplegar la aplicación, tengo estos dos errores en tiempo de ejecución:

primero de error

12:14:07.874 [ERROR] [test] Line 17: No source code is available for type com.google.gwt.user.server.rpc.RemoteServiceServlet; did you forget to inherit a required module?

segundo error

12:42:54.547 [ERROR] [test] Unable to find type 'org.redboffin.worldhug.client.test.Test'

12:14:09.341 [ERROR] [test] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly

Así que traté correcta Test.gwt.xml como Craig sugirió en el poste. Desafortunadamente, esa solución no está funcionando para mí, porque todavía estoy recibiendo los mismos errores.

primero de error: No sé lo que está pasando porque, por ejemplo, en el archivo que se representa, RemoteServiceServlet ha sido importada algunas filas antes (a pesar de que no se ve). Este archivo se encuentra en el paquete "org.redboffin.worldhug.server.test;"

segundo error: Si el usuario que ha publicado el hilo inicial no tenía necesidad de "heredar" un nuevo paquete en su proyecto, no puedo entender por qué los necesito. De todos modos, puse una nueva línea hereda uno de los archivos .gwt.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.0/distro-source/core/src/gwt-module.dtd">
    <module rename-to='test'>
    <inherits name="com.google.gwt.user.User" />
    <entry-point class="org.redboffin.worldhug.client.test.Test"></entry-point>
<source path="client" />
    <source path="shared" />
    <inherits name="org.redboffin.worldhug.client.test.Test" />
    </module>

Y eso es lo que tengo:

 Loading inherited module 'org.redboffin.worldhug.client.test.Test'
     [ERROR] Unable to find 'org/redboffin/worldhug/client/test/Test.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?

(por supuesto, no se compila)

Por lo tanto, realmente no sé lo que está pasando. Por favor, alguien puede aportar algo de luz a este tema? ¿Por qué esto no funciona? Lo que estoy haciendo mal? ¿Cuál es este tipo que se necesita en el segundo error?

¿Fue útil?

Solución

Piense lo veo:

Test.java debe estar en el paquete client.test no sólo client, o todo debe apuntar a client.Test en lugar de client.test.Test.

Otros consejos

Hola Irene y otra Web-Wanderers,

Tal vez se trata de una doble post en un poste ya contestadas o déjeme decir que es una oportunidad para aclarar acerca incluye código fuente de Java en el archivo XML. Me quedé atrapado en el mismo punto, pero no podía señalar lo que significa Adrian. Las dos últimas etiquetas de código le dirá qué paquetes y archivos de origen arrastrados deberá ser compilado. Es por eso que debe el nombre de cada paquete en el atributo llamado "camino".

El siguiente archivo se genera automáticamente en Eclipse Indigo en la versión Marco: appengine-java-sdk-1.6.4.1. Es carente de comentarios innecesarios.

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='wk_cms'>
  <!-- Inherit the core Web Toolkit stuff. -->
  <inherits name='com.google.gwt.user.User'/>
  <inherits name='com.google.gwt.json.JSON'/>
  <inherits name='com.google.gwt.http.HTTP'/>

   <inherits name='com.google.gwt.user.theme.chrome.Chrome'/>

  <!-- Other module inherits -->

  <!-- Specify the app entry point class. -->
  <entry-point class='de.someproject.wkcms.client.Wk_cms'/>

  <!-- Specify the paths for translatable code -->
  <source path='client'/>         <<-- my code (package client)
  <source path='communication'/>  <<-- my code (package communication)
</module>

Espero que esto mantiene a todos lejos de sondeo y pruebas antes de tener éxito ... =)

Saludos cordiales, Semo

PS. El archivo editado no era Web.xml pero PROJECTNAME.gwt.xml.

Su servidor de clase parece estar bajo el server.test paquete, en lugar de sólo servidor, que es probablemente equivocado. Compruebe la asignación de puntos Web.xml correctamente a esta clase.

sospecho que el error real es, probablemente, en otro lugar, aunque -. Yo habría esperado que todavía compilar

(No estoy seguro si tengo que "responder a su pregunta" o no, primer intento de desbordamiento de pila página!)

Gracias por su comentario,! Adrian

Este es el contenido del archivo "web.xml":

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<!-- Servlets -->

<servlet>
    <servlet-name>testServlet</servlet-name>
    <servlet-class>org.redboffin.worldhug.server.test.TestServiceImpl</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>testServlet</servlet-name>
    <url-pattern>/worldhug/test/testService</url-pattern>
</servlet-mapping>

<!-- Default page to serve -->
<welcome-file-list>
    <welcome-file>test.html</welcome-file>
</welcome-file-list>
</web-app>

Parece que la etiqueta de servlet está apuntando al lugar correcto a los ojos: TestServiceImpl.java es el paquete dentro de "org.redboffin.worldhug.server.test" Quiso decir eso?

Cualquier otra idea?

Gracias de nuevo! :)

Se tendrá que incluir lo siguiente

<source path='client.test'/>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top