Не удается импортировать файлы JAR в код JSP - PullRequest
0 голосов
/ 06 февраля 2011

У меня есть JAR-файлы, которые я создал с помощью команды jar -cf Generic.jar /java/mypackage/*.class В Generic.jar есть три класса mypackage - это имя пакета, который я назвал так, чтобы включить мои файлы классов и создать файл jar. последний я скопировал Generic.jar в WEB-INF / lib Glassfish

В JSP я импортировал эти файлы jar, используя

 <%@ page import="java.mypackage.GenericTree;" %>
 <%@ page import="java.mypackage.GenericTree1111;" %>
 <%@ page import="java.mypackage.GenericTree2222;" %>

Но я получаю следующую ошибку. Кто-нибудь может подсказать, что происходит не так?

  HTTP Status 500 -

  type Exception report

  message

  descriptionThe server encountered an internal error () that prevented it from fulfilling this         request.

  exception

  java.lang.NoClassDefFoundError: java/mypackage/GenericTree

 note The full stack traces of the exception and its root causes are available in the GlassFish     Server Open Source Edition 3.0.1 logs.
  GlassFish Server Open Source Edition 3.0.1

1 Ответ

2 голосов
/ 06 февраля 2011
  1. Вы уверены, что ваша команда выполнена успешно?Это не работает для меня, когда путь начинается с косой черты.Итак, сначала удалите начальный слеш, т.е. команда должна выглядеть следующим образом: jar -cf Generic.jar java/mypackage/*.class
  2. Имя пакета, начинающееся со слова java, не для вас.Это только для классов JDK.Такие классы не могут быть загружены обычным загрузчиком классов, только загрузчиком один.Итак, переименуйте ваш пакет.Он должен выглядеть следующим образом: com.mycompany.myprogram.foo.bar
  3. Теперь создайте файл JAR с помощью команды, которую я написал, и затем проверьте результат: запустите jar vft и убедитесь, что вывод выглядит как

    1612 Чт. Февраля03 14:44:34 IST 2011 com / mycompany / myprogram / Hello.class

Обратите внимание на путь.Он должен содержать вашу посылку.

Если все работает, скопируйте вашу банку в WEB-INF / lib и наслаждайтесь.Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...