Frage

Ich benutze das Maven-War-Plugin, um einige Ressourcen in Web-Inf zu filtern. Meistens Sachen statische Sachen wie:

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

oder

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

Alles funktioniert fantastisch. Mein Problem ist, dass es einen Entwicklungsalptraum geschaffen hat. Normalerweise stelle ich in einem lokalen Tomcat ein und meine IDE -Handles kopieren Änderungen (auf Save) in das Zielverzeichnis. Aber wenn das passiert, habe ich in meiner Datei eine wörtliche $ {Eigenschaft} anstatt das, mit dem sie ursprünglich durch das Kriegs -Plugin ersetzt wurde. Ich würde es vorziehen, Ansichts-/statische Ressourcenänderungen im Laufe der Fliege zu testen, anstatt für jede Änderung neu einzuführen müssen.

Ich habe mich mit dem Tomcat-Plugin ausgelöst, um es auszuführen, aber als ich das Ressourcenfilterung verwendet habe, findet ich nicht statt, es sei denn, ich verwende es zur Bereitstellung. In diesem Fall verliere ich die Hot-Swap-Funktionen.

Ich benutze Spring und es würde mir gut mit der Verwendung von Themen eingehen, die Themeneigenschaften filtern und dann die Werte in meiner Ansicht ersetzen. Aber was ist mit dem JS/CSS/anderen statischen Zeug?

Gibt es eine Möglichkeit, das Kriegs-Plugin "Filter im Fliege" zu haben? Kann jemand einen besseren Weg empfehlen, was ich versuche zu tun? Ich habe das Gefühl, dass ich es zu lange angesehen habe und eine Tunnelsicht in dieser Angelegenheit habe.

War es hilfreich?

Lösung 2

Am Ende habe ich die gleichen Methoden beibehalten, aber meinen Ansatz geändert, um dies zu erreichen.

Für JavaScript habe ich alles in eine einzelne Konstantendatei eingelegt:

// Constants.js

var BASE_URL = '${contextRoot}';

Der Grund dafür ist, dass die Constants.js Die Datei wird sehr selten geändert und vermeiden das Problem, dass diese Datei im laufenden Flug wieder eingesetzt wird.

Mein anderes Beispiel war die Verwendung ${buildNumber} Um zu vermeiden, dass Browserressourcen zwischen den Bereitstellungen zwischenbrodeln. Ich fand, dass das Anhängen der Build -Nummer an eine Abfragezeichenfolge genauso gut funktioniert hat:

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

Andere Tipps

Wenn Sie Eclipse mit M2E und M2E-WTP verwenden, können Sie im Fliege-Webressourcenfilterung eine Web-Ressourcen-Ressourcen erhalten. Dies wird hier erklärt: https://community.jboss.org/en/tools/blog/2011/05/03/m2eclipse-wtp-010-new-ntewory

Und dort vorgeführt: http://bit.ly/wgcd4j

Beachte ))

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top