Est-ce qu'un projet m2eclipse / WTP multi-modules accéder aux modules utilitaires déployés dans WEB-INF / classes?

StackOverflow https://stackoverflow.com/questions/3405653

Question

Nous utilisons actuellement MyEclipse avec son intégration Maven4MyEclipse intégré et son support de serveur J2EE intégré, mais que vous souhaitez convertir vers Eclipse régulière (Helios spécifiquement) pour pouvoir utiliser son installation sur Windows 64 bits. (MyEclipse ne supporte pas encore 64 bits sous Windows.)

Jusqu'à présent, j'ai un prototype d'Eclipse Helios en utilisant m2eclipse avec le plugin WTP déployer notre grande application Web pour tomcat. Le déploiement est un peu processeur, mais il fonctionne et l'application démarre.

Ce qui est différent est ici critique la façon dont sont déployés les projets dépendants. Dans notre environnement MyEclipse tous les projets dépendants ont été déployés explosa sur dans le dossier WEB-INF / classes, et ainsi alors que le serveur était en cours d'exécution, un changement à une classe java dans l'IDE serait de copier le fichier concerné (s) au du serveur WEB-INF / classes et échangeables à chaud la classe dans la machine virtuelle Java et ... boum - changement en direct sur le serveur. Idéal pour le débogage.

Dans ma conversion helios, cependant, tous les projets dépendants se jared et mis en WEB-INF / lib. Ceci a l'avantage de regarder réellement comme ce que notre image réelle de production construite maven-ressemble, mais l'environnement de développement est fortement pénalisée par ce fait que la capacité de remplacement à chaud semble être totalement perdu. Ici, si je change une classe java dans un projet dépendant, m2eclipse sera reconditionner le JAR, voir que l'application Web déployée est désynchronisée, et republier toute l'application. Non seulement est-ce un problème en ce que l'application Web entier doit le cycle (quelque chose nous ne franchement pas bien étant donné sa taille et grand temps d'initialisation), il est également un retard méchant dans son éclipse faire republier. (Pour notre application, cela prend environ une minute ou deux.)

Alors, ma question est la suivante: est-il un moyen d'obtenir des changements à l'intérieur des projets dépendants de remplacement à chaud à la machine virtuelle Java en cours d'exécution et remplacer les fichiers déployés sans cette pénalité méchant republier? Je suppose que cela signifie déployer les fichiers de classe au WEB-INF / classes, mais ne sais pas sûr que ce soit (a) possible ou (b) vraiment nécessaire dans le cadre de cette solution.

Que font les autres pour résoudre ce problème? Est-il solvable?

Merci d'avance!

Était-ce utile?

La solution

Je pense que vous êtes à la recherche de la solution décrite dans Re: WTP Tomcat déploiement à chaud avec m2eclipse :

  

Si vous activez le « Servir les modules   Sans option Publishing », alors   pot spécial est ajouté au Tomcat   serveur qui permet le support Tomcat   en WTP pour contrôler le « classpath » de   l'application Web. En outre, l'utilité   les projets ne sont pas assemblés dans des bocaux.   Au lieu de cela, le dossier de sortie Java (s) de   les projets de services publics sont inclus dans   le « classpath » du web   demande, servir efficacement la   fichiers de classe directement. Si vous désactivez   l'auto-chargement pour le contexte, et   exécutez en mode débogage, modifications que vous apportez à   Les classes peuvent être-code remplacé à chaud si   le contexte n'a pas de recharger. je   crois que cela va accomplir ce que vous   sont à la recherche.

Pour ce faire:

  • Aller à la Serveur vue
  • Double-cliquez sur votre serveur Tomcat pour ouvrir les paramètres du serveur
  • Options du serveur , sélectionnez Servir des modules sans publier
  • Edition , sélectionnez Ne jamais publier automatiquement
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top