Я просматриваю руководство по jwt (это Java Web Toolkit, а не JSON Web Tokens). В руководстве представлен проект eclipse для загрузки и импорта в eclipse, а также есть инструкции по его развертыванию на причальном сервере.
Я хотел бы развернуть его на сервере tomcat, который я уже установил в качестве сервера в eclipse, чтобы я мог вносить изменения и повторно развертывать без раздражающих шагов по копированию файла WAR во внешнюю установку Tomcat и подключению сеанса удаленной отладки.
Я создал файл войны, и если я разверну его во внешнем сеансе, он будет работать нормально. Но я не могу понять, как сказать eclipse развернуть его на внутреннем сервере. Когда я щелкаю проект правой кнопкой мыши и выбираю «Выполнить» или «Отладка», есть возможность запустить его как приложение, но не запустить на сервере. Я предполагаю, что eclipse предоставляет эту опцию только для «Динамических веб-приложений», но это не помечено таким образом, и это всего лишь предположение.
Как я могу настроить проект так, чтобы eclipse знал, что нужно развернуть свой военный файл на внутреннем сервере?
Также - это не проект Maven, у них есть build.xml для Ant.
Итак, я нашел «Фасеты проекта» и установил фасет проекта для моего приложения «привет» как «Динамический веб-модуль», и теперь есть возможность запустить его на сервере. Но когда я это делаю, я получаю 404 «не нашел представления для текущего ресурса», без сообщений об ошибках в консоли или терминале. Я повторил WAR на внешнем сервере, чтобы убедиться, и это все еще работает.
Какие-либо предложения?
Ссылка на руководство: это раздел 3 https://www.webtoolkit.eu/jwt/latest/doc/userguide/userguide.html
Я понимаю, что Dynamic Web Module, возможно, был неправильным путем, но в наш век программирования методом проб и ошибок казалось разумным попытаться заставить eclipse думать, что это веб-проект для этой цели. Я счастлив (как-нибудь) поддержать это, если это не так.
Их инструкции охватывают развертывание в eclipse для Jetty, которое я не использую. Я бы подумал, что если для tomcat-under-eclipse потребуется index.html или web.xml, он потребуется для Jetty-under-eclipse, но это только предположение.




Мне удалось запустить jwt-привет на Tomcat в Eclipse после внесения следующих изменений конфигурации:
После настройки проекта создайте WEB-INF / web.xml с содержимым, показанным ниже, чтобы избежать проблемы 404, а затем build.xml> Запуск от имени> Сборка Ant для сборки проекта.
<?xml version = "1.0" encoding = "UTF-8"?>
<web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns = "http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id = "WebApp_ID" version = "2.5">
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>eu.webtoolkit.jwt.examples.hello.HelloMain</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
На сервере Tomcat Eclipse:
Добавьте следующую строку в server.xml, чтобы отразить изменение корневого контекста с jwt-привет на Привет:
<Context docBase = "jwt-hello" path = "/hello" reloadable = "true" source = "org.eclipse.jst.jee.server:jwt-hello"/>
Добавьте проект jwt-привет в Tomcat и запустите его. Приложение работает без ошибок и исключений в журнале:
Заметки:
[1] Обновите свое сообщение ссылкой на учебное пособие. [2] Я понимаю, почему вы пытались добавить фасет Динамический веб-модуль, но это могло отправить вас по нежелательному пути. Ошибка 404 может быть вызвана тем, что у вас нет ни index.html, ни дескриптора развертывания (web.xml со списком-приветствием или отображением сервлета для вашего «веб-проекта»). [3] Выявит ли что-нибудь, глядя на то, как проект успешно настроен на внешнем сервере Tomcat? Я понимаю, что все, что вы сделали, это развернули приложение, но, может быть, Tomcat после этого сделал что-то особенное для вашего JWT-приложения?