forum.bitel.ru http://forum.bitel.ru/ |
|
java.lang.NoClassDefFoundError: http://forum.bitel.ru/viewtopic.php?f=19&t=10953 |
Страница 1 из 1 |
Автор: | Ping333 [ 03 окт 2015, 00:21 ] |
Заголовок сообщения: | java.lang.NoClassDefFoundError: |
Добрый день! Подскажите что не так сделал. пробуем переехать на 6.2 с 6.0. Код: ... public class Test extends HttpServlet //extends CommonExecutor { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello, World! "); String date_check = (TimeUtils.format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSS"))+"+07:00"; System.out.println("date_check " +date_check);// data } } в логе ошибка java.lang.NoClassDefFoundError: bitel/billing/common/TimeUtils если раскоментировать CommonExecutor и закоментить HttpServlet в логе ошибка java.lang.NoClassDefFoundError: bitel/billing/server/CommonExecutor апдейте поставлены, kernel.jar есть. Centos 7. Java Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM [1.8.0_45] /usr/java/jdk1.8.0_45/jre хотя на 6.0 этот сервелет работает. (ubuntu12) может что не так установилось |
Автор: | nikav80 [ 03 окт 2015, 01:35 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
не найден класс bitel.billing.common.TimeUtils |
Автор: | Ping333 [ 03 окт 2015, 11:21 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Спасибо.сразу все понятно стало. Я то думаю в чем проблема...а тут класс не найден. Эти классы в kernel.jar есть. |
Автор: | dimOn [ 03 окт 2015, 13:24 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
что это вообще за код? вы сервлет пишете отдельно и отдельно собираете в jar или что? |
Автор: | dimOn [ 03 окт 2015, 13:27 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
классы эти в 6.2 есть. значит, вы при запуске вашего кода просто в classpath не включаете kernel.jar но как запускаете код и где всё это вам пишет - непонятно. проверьте |
Автор: | Ping333 [ 03 окт 2015, 14:52 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Да именно так. В нетбинс пишу сервлет.ну как пишу..переношу с 6.0 на 6.2.сделал jar, скопировал в либы сервера. Примапил его. Вызываю с браузера. В server.out смотрю лог выполнения при вызове сервлета. Делаю вроде все также как на 6.0 |
Автор: | dimOn [ 03 окт 2015, 15:08 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
изучайте лаунчеры на предмет classpath, проблема 100% в том, что kernel.jar туда не попадает "в либы сервера" - это куда именно? кто эту jar цепляет? как именно примапили? сами в xml прописали? |
Автор: | dimOn [ 03 окт 2015, 15:10 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
ещё в скриптах запуска родных учтите, что напрямую каталоги не везде и не все подключаются в classpath, а грузятся через bootstrap. потом наоборот иногда вносили нужные, потому что сторонние либы не могли грузить напрямую то что лежит в ext, хотя некоторые пытались. возможно, у вас какой-то подобный случай. |
Автор: | Ping333 [ 03 окт 2015, 15:15 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Сам в xml прописал.кладу в либы ext.вообще во все папки пробовал. Сегодня попробую ещё раз с учётом ваших рекомендаций.спасибо |
Автор: | Ping333 [ 03 окт 2015, 20:14 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Решено. Спасибо. Код: напрямую каталоги не везде и не все подключаются в classpath помогло. один вопрос остался, при обновлении сервера, web.xml перетирается , возможно сделать чтобы изменения сделанные сохранялись? или каждый раз нужно вносить изменения |
Автор: | Phricker [ 03 окт 2015, 21:07 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
попробуйте web.xml из сборки переименовать в web.xml.orig. В таком случае, при обновлении ваш web.xml перезатрется только в том случае если были изменения в сборке. |
Автор: | Ping333 [ 03 окт 2015, 21:11 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
попробую. спасибо |
Автор: | Phricker [ 03 окт 2015, 21:11 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
И он не совсем перезатрется. Переименуется в web.xml.bak.<TIMESTAMP> так что потом просто web.xml.orig меняете на тот который пришел, и возвращаете ваш |
Автор: | Phricker [ 03 окт 2015, 21:17 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Ну или так |
Автор: | Ping333 [ 03 окт 2015, 21:27 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
спасибо. |
Автор: | dimOn [ 04 окт 2015, 19:50 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Ping333 писал(а): Сам в xml прописал.кладу в либы ext.вообще во все папки пробовал. Сегодня попробую ещё раз с учётом ваших рекомендаций.спасибо ext в новых версиях тоже напрямую прописывается там. если вы клали в ext должно было вроде как работать. что вы в итоге исправили то? |
Автор: | Ping333 [ 04 окт 2015, 20:49 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
jar положил в app. Сделал еще раз апдейт. Ошибка более не повторяется. |
Автор: | Ping333 [ 05 окт 2015, 00:37 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
Можно еще спрошу. темы плодить не буду. пытаюсь сделать платеж, как писал старк тут и в вики тут Код: try{ ServerContext context = ServerContext.get(); PaymentService paymentService = context.getService( PaymentService.class, 0 );// на этом пункте вылетает ошибка Payment payment = new Payment(); payment.setContractId(2472) ; payment.setComment("Оплата через -ID-...."); payment.setSum( new BigDecimal(Float.parseFloat("3434"))); payment.setDate(date) ; payment.setUserId(0) ; payment.setTypeId(3) ; payment.setId(-1) ; payment.setTimeChange(date); //java.util.List<java.lang.Integer> pmt = paymentService.paymentUpdate(payment, null); } в логе ошибка 10-05/01:25:14 ERROR [http-bio-0.0.0.0-8080-exec-3] [test] - Servlet.service() for servlet [test] in context with path [/bgbilling] threw exception java.lang.NullPointerException at Test.doGet(Test.java:33) подскажите что я сделал не так? |
Автор: | dimOn [ 05 окт 2015, 11:18 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
context вероятно null потому что в самописном сервлете не будет никакого контекста |
Автор: | Ping333 [ 05 окт 2015, 14:29 ] |
Заголовок сообщения: | Re: java.lang.NoClassDefFoundError: |
спасибо. попробую как раньше |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |