Question

J'utilise le plugin maven-guerre pour filtrer certaines ressources dans WEB-INF. La plupart du temps farcir les éléments statiques comme:

var url = ${contextRoot}/save.json;

ou

<link href="static/css/layout-${buildNumber}.css"/>

Tout fonctionne fantastiquement. Mon problème est qu'il a créé un cauchemar de développement. Je Déployez généralement chaud à un tomcat local et mes poignées IDE copie des modifications (sur Enregistrer) dans le répertoire cible. Mais quand j'arrive finir avec un $ littéral {propriété} dans mon dossier au lieu de ce qu'il a été remplacé par le plug-in de guerre. Je préférerais vue d'essai / changements de ressources statiques sur la volée au lieu d'avoir à redéployer pour chaque changement.

J'ai foiré autour avec le plugin tomcat pour l'exécuter, mais quand je que le filtrage des ressources ne se produit pas à moins que je l'utilise pour déployer, dans ce cas, je perds les capacités remplaçables à chaud.

J'utilise le printemps et je serais bien avec l'aide de thèmes, filtrer les propriétés du thème, puis en utilisant que pour remplacer les valeurs à mon avis. Mais qu'en est-js / css / autres choses de statique?

Est-il possible d'avoir la guerre plug-in « filtre à la volée »? Quelqu'un peut-il recommander une meilleure façon d'accomplir ce que je suis en train de faire? Je me sens comme je l'ai regardé trop longtemps et avoir une certaine vision du tunnel en la matière.

Était-ce utile?

La solution 2

En fin de compte, je gardé les mêmes méthodes, mais a changé mon approche pour y parvenir.

Pour Javascript, je mets tout ce qui doit être filtré en un seul fichier Constantes:

// Constants.js

var BASE_URL = '${contextRoot}';

La raison derrière cela est que le fichier Constants.js sera très rarement modifié et d'éviter le problème d'avoir ce fichier redéployé à la volée.

Mon autre exemple utilisait ${buildNumber} pour éviter la mise en cache des ressources du navigateur à travers Déploie. J'ai trouvé que annexant le numéro de build à une chaîne de requête a travaillé aussi bien:

<link href="static/css/layout.css?${buildNumber}"/>

Autres conseils

Si vous utilisez Eclipse avec M2e et M2e-WTP, vous pouvez obtenir sur la volée le filtrage des ressources web. Ceci est expliqué ici: https: //community.jboss.org/en/tools/blog/2011/05/03/m2eclipse-wtp-0120-new-noteworthy

Et il demoed: http://bit.ly/wGcD4j

Notez que, dans cette vidéo, le profil Maven interface de gestion vient de JBoss Tools 3.3.0.Beta1 (http://docs.jboss.org/tools/whatsnew/maven/maven-news-3.3.0. Beta1.html)

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