Pregunta

Actualmente estoy usando Apache Tomcat 5.5.16 para servir a una API de búsqueda basada en Lucene.

Últimamente he estado teniendo algunos NullPointerExceptions dentro de mi clase servlet. La clase se llama com.my_company.search.servlet.SearchServlet.

Con ciertos tipos de entrada que puede crear de forma rutinaria una NullPointerException, pero estoy teniendo problemas para averiguar dónde se encuentra exactamente.

El StackTrace indica que el error está ocurriendo aquí:

com.my_company.search.servlet.SearchServlet.doGet(Unknown Source)

La fuente y los archivos .class para esta clase es todo en:

$TOMCAT_HOME/webapps/my_servlet/WEB-INF/classes/com/my_company/search/servlet/

Mi pregunta es, ¿cómo puedo obtener Tomcat me proporcione ubicaciones de error más descriptivos?

¿Fue útil?

Solución

Tomcat no puede proporcionar información más detallada a menos que las clases en cuestión fueron compilados con información de depuración. Sin esta información de depuración, la JVM no puede determinar qué línea de código ha producido el error.

Editar Puede pedir al compilador que incluya esta información especificando el -g opción cuando se ejecuta javac en la línea de comandos. También puede especificar esta opción con el parámetro debug de la javac Ant tarea .

Otros consejos

hay que añadir información de depuración en sus clases. compilar con la opción -g:

javac -g YourServlet.java

la lata ubicación de origen desconocido se produce cuando el compilador JIT ha optimizado su clase. En ese momento se pierde la información de la fuente. para obtener la ubicación original, reinicie el servidor y vuelva a intentar la prueba. La mayoría de las veces obtendrá la ubicación de la fuente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top