У меня есть простой проект для тестирования услуг JAX-RS. Вчера я загрузил jersey-1.7.1 и использовал com.sun.jersey.api.container.httpserver.HttpServerFactory и com.sun.net.httpserver.HttpServer для создания http-сервера для тестирования моих сервисов изнутри eclipse (без тяжелого весовой контейнер)Джерси и jax-rs RI2 - отсутствует HttpServerFactory
Сегодня я загрузил последние майки jerseys (jaxrs-ri) и HttpServerFactory. Похоже, что они удалили класс между 1.7.1 => 2.0, но я не могу найти его в устаревшем разделе. Я вижу классы grizzly2 в разделе API (возможно, это то, что я должен использовать сейчас), но ни один из jars в jaxrs-ri bundle не предоставляет эти классы. Я загрузил jersey-grizzly 1.12 jar, но у него есть только классы com/sun/jersey/server/impl/container/grizzly2/GrizzlyContainer и нет реализации.
Так вопрос добрых душ
1 - с последними jaxrs-ри баночки из джерси загрузки страницы, что является рекомендуемым способом создать простой сервер HTTP для тестирования из командной строки, если 1.7.1 способ имеет устарели. какие банки загружать/включать и, возможно, образец короткого кода?
2 - Вся документация вокруг создания простой службы REST с использованием java - большой беспорядок. Итак, как вы находите нужную информацию?
(Действительно, это не шутка. Возможно, для этого потребуется отдельное сообщение в блоге - просто посмотрите на беспорядок, измените API, нет информации об устаревших функциях, различиях в реализации, например CXF vs. jersey, API 1.x против API 2.0, Glassfish контейнера v х по сравнению с Tomcat, версия х г против версии х2 у, сервлет 3,0 будет иметь этот файл, вы простирающийся приложение или нет!)
Update
работает пример с сервером JDKHttp
package test.jersey;
import java.net.URI;
import com.sun.net.httpserver.HttpServer;
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory ;
import org.glassfish.jersey.server.ResourceConfig;
public class ConsoleServerV2 {
static final String BASE_URI = "http://localhost:9099/";
public static void main(String[] args) throws Exception {
HttpServer server = null ;
ResourceConfig rc = new ResourceConfig(rest.Service.class);
URI endpoint = new URI(BASE_URI);
server = JdkHttpServerFactory.createHttpServer(endpoint,rc);
System.out.println("console v2.0 : Press Enter to stop the server. ");
System.in.read();
server.stop(0);
}
}
спасибо. вероятно, это путь наименьшего сопротивления. Я обновил вопрос с помощью рабочего образца. – rjha94
Я пытаюсь это сделать и работать в NoClassDefFoundError: com/google/common/base/Function во время выполнения. – ash
нашел это здесь, http://mirrors.ibiblio.org/pub/mirrors/maven2/com/google/collections/google-collections/0.9/google-collections-0.9.jar, но это, кажется, кроличья дыра ... другая отсутствует зависимость. Ба. – ash