Question

OK, cela a un lien avec: Utiliser une jetée pour installer et exécuter des tests de servlet par programme

a obtenu d'excellentes réponses et a été en mesure de charger des servlets par programme, ce qui est génial.

Ce que je voudrais cependant faire, c'est charger un fichier web.xml dans un test (le tout dans le chemin de classe) et le faire tourner sur un serveur (en utilisant le chemin de classe actuel) - j'ai vu dans la documentation comment le pointer vers un répertoire pour le faire, mais je veux travailler hors du chemin de classe (mieux pour les tests sur place) Valider essentiellement mon web.xml.

(ce n'est pas pertinent, mais cette application est en scala, mais je n'ai eu aucun problème avec ça, tout fonctionne comme annoncé).

Était-ce utile?

La solution

Il semble que vous souhaitiez charger une application Web appropriée par programme, par opposition au chargement de servlets individuels (et je pense que vous souhaitez le faire sans avoir à utiliser un fichier WAR complet).

Server server = new Server( port );
WebAppContext root = new WebAppContext();

root.setWar("/path/to/somewhere");
root.setContextPath("/");

server.addHandler( root );
server.start();

Le truc, c'est que / chemin / vers / quelque part devrait contenir un répertoire WEB-INF et que votre fichier web.xml devrait vivre. à l'intérieur là-bas. Rien d’autre n’a besoin de vivre dans cette structure de répertoires, car tout le reste peut être chargé automatiquement à partir de votre chemin de classe (bien que si vous le souhaitez, vous pouvez en faire un chemin vers un fichier WAR réel ou une arborescence WAR éclatée complète).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top