Question

J'ai installé et configuré tomcat + solr sur ma machine Linux personnelle et sur Windows. J'ai pu les faire fonctionner correctement. Je suis très nouveau en Java et comment fonctionne la structure de fichier. (c’est-à-dire savoir où placer les fichiers war et ce que WEB-INF est) Alors, maintenant que je suis prêt à installer solr et à le configurer sur le plan d’hébergement partagé de mes clients, les instructions sont différentes de ce que j’ai fait auparavant. Je ne veux pas gâcher cela et apparemment, le serveur Web redémarre tous les jours et je ne pense pas que je puisse le faire manuellement, ce qui signifie que je ne peux que tenter ma chance tous les jours.

Voici les instructions pour installer un servlet Tomcat sur son fournisseur d'hébergement: http://www.apluskb.com/scripts/Where_do_I_put_my_answer1186.html

Comme vous pouvez le constater, je dois installer solr sous le répertoire html / WEB-INF, mais lisez ce qui est écrit .. c'est très déroutant:

  

" Tous les servlets doivent être chargés dans le répertoire / html / WEB-INF / classes . Toutes les ressources et classes personnalisées non compressées doivent être téléchargées dans le répertoire / html / WEB-INF / classes , tandis que les classes et les ressources contenues dans les fichiers Jar doivent être téléchargées vers . / html / WEB-INF / lib . "

euh ... alors c'est quoi? /Des classes? ou / lib? Je ne pense pas qu'ils expliquent cela très bien et je suis un peu confus par cette déclaration. Aussi qu'est-ce que j'installe exactement? Avec une installation normale de solr, solr est placé ailleurs, le fichier war est copié dans tomcat et le reste de solr est référencé à l'aide d'une sorte de fichier de configuration XML.

De plus, étant donné que je suis un peu nouveau dans Java et les servlets, quelqu'un peut-il m'expliquer la structure du fichier tomcat (le détail le plus précis va certainement vous rapporter un +1) et indiquer où les choses doivent aller et pourquoi?

Merci d'avance!

Était-ce utile?

La solution

La structure de l'application Web est définie par la spécification J2EE. Elle n'est pas limitée (ni spécifique) à Tomcat en soi. Voici un didacticiel détaillé sur sa présentation. En bref, voici ce qui suit:

  1. Il y a un dossier de base (racine, home, comme vous voulez l'appeler) qui sert de racine à une application Web, tout le reste y étant placé.
  2. Tous les éléments publics (html, images, CSS, javascript, JSP, etc.) sont placés sous ce dossier (directement ou via des sous-dossiers).
  3. Il existe un dossier spécial, également situé directement sous la racine, appelé WEB-INF . Il contient des éléments non publics, tels que le descripteur d'application ( web.xml ), les classes (qui vont dans le dossier WEB-INF / classes ), les bibliothèques ( WEB- INF / lib ) et éventuellement des fichiers de configuration.
  4. L'application peut être déployée en utilisant la structure développée ci-dessus ou en tant que WAR (archive Web), qui est en principe une archive contenant tout ce qui précède, à partir du niveau du dossier racine (sans inclure la racine).

La distinction entre les dossiers classes et lib est simple: toutes les bibliothèques empaquetées (fichiers JAR) doivent entrer dans lib ; toutes les classes non empaquetées (et les fichiers de ressources devant être dans classpath) doivent être classées dans classes en conservant la structure de leurs répertoires (par exemple, com.mypackage.Blah classe devrait aller dans classes / com / mypackage / )

Dans votre cas, il semble que vous ne pouvez avoir qu'une seule application Web déployée et qu'elle doit être déployée dans le dossier / html . Si vous déployez un fichier war, vous devez l'extraire dans ce répertoire (par exemple, depuis ce dossier / html , exécutez jar xvf solr.war ou quoi que ce soit appelé). .

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