2013-11-13 5 views
2

У меня есть война с простой службой REST Джерси, мне нужно связать эту банку с/с в Jetty в одной толстой банке, чтобы ее можно было запустить в целом после того, общий. Может ли кто-нибудь указать мне инструкции о том, как это сделать? Я не могу найти что-то, что имеет отношение к моему делу.Джерси REST сервис WAR в Jetty Fat Jar

Заранее благодарен!

ответ

3

Я считаю, что вы ищете, чтобы встроить Jetty в вашем банке, так что вы можете запустить приложение с:

java -jar myApp.jar 

И К Вашим услугам REST будет запущен и работает, без необходимости развертывания приложения файл войны в Jetty (или tomcat или так ...) или заботиться о других зависимостях. Это правильно?

Если это так, посмотрите, как встроить пристань в ваше приложение. Вот некоторые примеры:

Embedding Jetty as a Servlet Container

Embedding Jetty

Если бы вы могли предоставить более подробную информацию, которая будет большим.

EDIT

public static void main(String[] args) throws Exception { 
    Server server = new Server(9001); 
    Context context = new ServletContextHandler(ServletContextHandler.SESSIONS); 
    context.addServlet(new ServletHolder(new ServletContainer(new ResourceConfig(YourRestService.class))); 
    server.start(); 
} 

Экспорт в .jar и запустить в терминале с:

java -jar myApp.jar 

К Вашим услугам отдых будет доступен в порту 9001.

+0

Pergon, что именно что я хочу сделать, но мое приложение - WAR, а не банка, потому что в нем есть служба REST Джерси, включенная в нее. Я смогу использовать тот же подход для WAR, используя информацию которые вы указали в своих ссылках. Было бы здорово, если бы я закончил банку вместо войны. – user1965449

+0

Имейте в виду, что разница между банкой и военным файлом невелика (в основном эти файлы имеют только класс компиляции zipped ... в случае войны есть файлы .jsp, .xml ...). Вместо экспорта в .war, экспортируйте в .jar. Убедитесь, что вы запускаете причал в основном методе (проверьте ссылки). – PerGon

Смежные вопросы