Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Jersey клиент

21.11.2014, 01:58. Показов 2553. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу создать клиента для моего REST'ful сервиса, похоже я что-то упускаю важное из примеров, помогите разобраться.

Создание клиента:
Java
1
2
3
4
5
6
7
8
9
10
11
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
 
/**
 * Created by gepar on 20.11.2014.
 */
public class Application {
    public static void main(String[] args) {
        Client client = ClientBuilder.newClient();
    }
}
Мои maven зависимости к проекту:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <dependencies>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0.1</version>
        </dependency>
 
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>2.13</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
Ошибка при запуске:
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClient Builder
at javax.ws.rs.client.ClientBuilder.newBuil der(ClientBuilder.java:103)
at javax.ws.rs.client.ClientBuilder.newClie nt(ClientBuilder.java:114)
at client.Application.main(Application.java :11)
at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43)
at java.lang.reflect.Method.invoke(Method.j ava:483)
at com.intellij.rt.execution.application.Ap pMain.main(AppMain.java:134)


Если явно прописать реализацию к билдеру в main в виде:
Java
1
Client client = org.glassfish.jersey.client.JerseyClientBuilder.newClient();
То получаю ту же ошибку при выполнении (при компиляции idea говорит что всё ок и такой класс она видит).


Немного сомневаюсь насчёт ide: как-то подозрительно это поэтому собираю jar'ник руками положив в корень те же библиотеки скопированные из репозитория мавена, но ошибка не уходит:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/client/ClientBuilder
at client.Application.main(Application.java :11)
Так как сомнения не уходят - создаю аналогичный maven проект в нетбинс и ... та же самая ошибка

Что же тогда не так?
Мавен проект созданный в idea прикрепил в виде архива, не знаю что винить толком.
Вложения
Тип файла: zip PersonsClient.zip (23.2 Кб, 8 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2014, 01:58
Ответы с готовыми решениями:

Weld+Jersey+tomcat8
Не могу понять как использовать аннотацию @Inject в моем простом проекте. Для CDI юзаю Weld. Во время запуска проекта в tomcat INFO ...

Jersey & JSON
Есть REST клиент. Посылаю пост запрос с параметрами - получаю ответ. Нужно розпарсить...

Jersey и возврат XML ответа
Тестировал небольшой сервис отвечающий xml'ем и стало интересно что будет делать Jersey если сказать что ответ должен быть XML, а объкт...

3
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
21.11.2014, 02:10
Проблемы с IDE
У меня ваш проект работает. Использую Eclipse Luna
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
21.11.2014, 23:58  [ТС]
KEKCoGEN, да, в эклипсе и правда этот код работает, но работает он только до тех пор пока его вызывает эклипс, а не пока я зайду в папку с компилированными исходниками, не могу понять как и в идее настроить так classpath чтобы всё работало как предполагается.
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
22.11.2014, 00:12  [ТС]
Впрочем методом тыка нашёл что надо в modules подключить библиотеку jersey как Runtime, а jax-rs как compile соответственно и тогда идея ведёт себя как положено, осталось разобраться что именно надо в runtime из этих библиотек, а что нет.
По умолчанию все они были provided, но похоже условие не сработало. Хотя я даже догадываюсь почему - я ведь просто написал создание объекта клиента, никаких прямых упоминаний glassfish у меня и не было так что Idea видимо решила что они мне не нужны.
Миниатюры
Jersey клиент  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2014, 00:12
Помогаю со студенческими работами здесь

Как зарегистрировать фильтр безопасности в Jersey 2.x
JerseyConfig @ApplicationPath(&quot;api&quot;) public class JerseyConfig extends ResourceConfig { public JerseyConfig() { ...

Книги по Jersey rest web services
Всем привет хотел спросить знает ли кто хорошие книги по jersey web services?

Авторизация для RESTful в Java(Jersey)
Мне нужна авторизация в RESTful в Java(Jersey).Помогите пожалуйста ! Я разработал полностью веб-сервис кроме авторизации.Если необходимо...

(Jersey 2.2) Как работать с 2 и более контроллерами?
Есть База и 4 контроллера, осуществляющих обработку для каждой сущности отдельно. Примеры путей: person/all, desktop/all, room/all ...

Jersey 2.x - перенаправление request из rest-services на servlet
Кто-нибудь знает, как в Jersey сделать следующее: перенаправить пришедший запрос на сервлет -клиент после проверки аутентификации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru