2013-03-25 4 views
0

У меня есть файл java, содержащий функцию. Он использует некоторый внешний API (я добавил внешние файлы jar). Теперь у меня есть сервлет и в doGet() и вы хотите вызвать функцию вышеуказанного класса java. Должен ли я писать все операторы импорта для API в сервлет?
Причина, по которой я получаю ошибку в сервлете, не запускается.Servlet-Calling java function

Ошибка HTTP Status 500 - выполнение Servlet вызвала исключение

type Exception report 

message Servlet execution threw an exception 

description The server encountered an internal error that prevented it from fulfilling  this request. 

exception 

javax.servlet.ServletException: Servlet execution threw an exception 
root cause 

java.lang.NoClassDefFoundError: jxl/read/biff/BiffException 
hello.hello.doGet(hello.java:77) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
root cause 

java.lang.ClassNotFoundException: jxl.read.biff.BiffException 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
hello.hello.doGet(hello.java:77) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
+2

В сервлет, вы должны импортировать пакет из класса, где вы написали функцию. Укажите точную ошибку, которую вы получаете. Убедитесь, что все связанные с API JAR, включенные в 'classpath' –

+0

@RavindraGullapalli, спасибо за ответ, и я уже импортировал класс. Я добавил ошибку, которую я получил. – Sourav048

ответ

3

Я скопировал внешние файлы JAR внутри Tomcat 7.0 \ lib и решил проблему.

Получил идею от http://scn.sap.com/thread/1410297

Скважины это правильное решение? Это когда мы должны использовать внешний API в сервлете, нам нужно настроить путь сборки, добавить JAR, а также скопировать JAR в папку tomcat \ lib?

+1

Да. Иногда файлы jar также будут проверяться в папке Tomcat lib. –

0

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

+0

Я добавил ошибку, которую получил. Пожалуйста, посмотри на это. – Sourav048

+1

Убедитесь, что у вас есть файл jar в пути к классу проекта. Поместите файл jar в WEB-INF/lib вашего веб-приложения. – AJM

0

скопировать файлы фляги в WEBINF/Lib папку вашего проекта