Я пытаюсь добавить папку webapp со статическими HTML-страницами в JAXRSArchive с Wildfly Swarm. Но, к сожалению, это было неудачно. Как я могу это сделать?Wildfly Swarm JAXRSArchive add webapp directory
ответ
Скопируйте все статические файлы в src/main/webapp
и в вас основной метод добавить вызов staticContenet
следующим
public static void main(String... args) throws Exception {
Swarm container = new Swarm();
JAXRSArchive jaxrsDeployment = ShrinkWrap.create(JAXRSArchive.class);
jaxrsDeployment.addAsLibrary(container.createDefaultDeployment());
jaxrsDeployment.addAllDependencies();
jaxrsDeployment.staticContent();
container.start();
container.deploy(jaxrsDeployment);
Вы можете уточнить, почему вам нужен собственный Main()?
Предпочтительный вариант - не использовать пользовательский main(), или если у вас должен быть пользовательский main(), чтобы не настроить развертывание.
Вы можете просто позвонить Swarm.deploy(), и он будет создавать развертывание по умолчанию, который, если ваш проект имеет тип войны, будет работать нормально
Мне нравится подход на основе Java. И эта настройка развертывания используется в большинстве примеров wildfly-swarm (например, для добавления swagger). Для меня это выглядит как лучший подход, но это плохо документировано. – Nikita
Большинство примеров и документации настраивают развертывание, поэтому это будет не так просто. – Nikita
Если вам действительно нужен пользовательский main(), потому что вам нужно каким-то образом настроить WAR, используйте Swarm.createDefaultDeployment(), чтобы предоставить вам архив, эквивалентный упаковке Maven WAR, а не создавать все с нуля. – Ken
Этот вопрос устарел. Но я отправляю это решение тем, кто сталкивается с той же проблемой.
Проблема может возникнуть, если вы используете JAX-RS
без указания @ApplicationPath
.
По умолчанию JAX-RS прослушивает корень /
вашего приложения и переопределяет стандартное сопоставление.
В этом случае вы должны добавить конфигурацию, как это:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class JaxRSConfiguration extends Application {
}
Это префикс все JAX-RS
конечных точек с /api
и позволяет работать со статическим контентом.
- 1. Wildfly Swarm Rest Controller
- 2. WildFly Swarm Nullpointer @Inject bean
- 3. wildfly swarm: сбой при смене фасадных пакетов
- 4. Wildfly Swarm и CxF-RT-транспорты-клиент
- 5. Wildfly Swarm start browser on mvn run
- 6. Многофункциональный проект Maven с плагином wildfly-swarm
- 7. Загрузить jsf строки в wildfly swarm
- 8. запуск wildfly-swarm из Eclipse «org.jboss.modules.ModuleLoadException»
- 9. Wildfly swarm jax-rs multipart form NotSupportedException
- 10. Spring Облако/Загрузочный против Wildfly Swarm
- 11. Конфигурация уровней журнала с Wildfly Swarm
- 12. Wildfly Swarm написать во внешнюю базу данных
- 13. Укажите URL-адрес swagger.json для swagger UI wildfly swarm
- 14. IntelliJ & Wildfly - hot deploy webapp
- 15. webapp in ManagementRealm on Wildfly
- 16. WildFly Swarm + War + локальные зависимости Jar в Gradle - NullPointerException
- 17. Excpetionmapper не работает с Wildfly Swarm, но работает в Wildfly Server
- 18. Зависимость Инъекция, не работающая в Wildfly-Swarm-2016.12.1
- 19. Fossil add for external directory
- 20. htaccess rewrite issue add directory
- 21. VerifyError при настройке webapp на WildFly 8
- 22. Как изменить имя источника данных по умолчанию в wildfly-swarm
- 23. Spring Data JPA Интеграция CDI не работает с Wildfly Swarm
- 24. Не удалось запустить службу jax-rs на wildfly-swarm
- 25. Wildfly Swarm выполнение банка терпит неудачу при запуске
- 26. Mount Host Directory в каталог развертывания Wildfly
- 27. wildfly (9) + kerberos + ldap (Active Directory)
- 28. Wildfly add-user.sh Экземпляр для экземпляра управления
- 29. Yeoman gulp webapp change styles directory name
- 30. После того, как git add directory пуст
Вы решили проблему? У меня такая же проблема. –