2010-12-30 3 views
1

Ich werde versuchen, hier so viel Sinn wie möglich zu machen. Wir arbeiten an einer MyFaces 2 App in Tomcat. Auf unseren lokalen Dev-Maschinen müssen wir, wann immer wir eine unserer xhtml-Dateien ändern wollen, den Server stoppen, bereitstellen und dann den Server neu starten. Dies ist umständlich und macht kleine Änderungen an der Ansicht mühsam. Ich habe versucht, die bereitgestellte XHTML-Datei in tomcat zu ändern, aber der Server nimmt die neue Änderung erst nach einem Neustart auf.Tomcat myfaces dynamische Quelldateien

Gibt es irgendeine Art von Konfiguration in MyFaces oder Tomcat Ich kann tun, um den Wiederaufbau dieser Quelle xhtml jedes Mal zu erzwingen?

+0

Machst du die Änderungen in den XHTML-Dateien via IDE (Eclipse) oder manuell direkt in Webapps? – Cratylus

+0

die Änderungen direkt in der IDE vornehmen und dann in das webapps-Verzeichnis kopieren. Wir betreiben den Tomcat nicht von der eclip-IDE. – Gerrie

+0

Für Anfänger können Sie nur die Anwendung neu laden und den Server nicht neu starten, indem Sie: http: // Pfad: port/manager/reload? Pfad =/APP_PATH'. Welchen Tomcat verwenden Sie? Haben Sie die Konfiguration geändert? – Cratylus

Antwort

4

ok, nach etwas intensiverem googeln, schlachten und dann das Opferlamm verbrennen, die heiligen Entwickler tanzen und den magischen (java) trank trinken, fand ich die Antwort. Wenn Sie die Antwort wissen wollen, zahlen $ 500 in mein PayPal-Konto ....

....

ok ernst. Sie müssen nur Folgendes zu Ihrer web.xml hinzufügen

<context-param> 
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name> 
    <param-value>1</param-value> 
</context-param> 
<context-param> 
    <param-name>facelets.REFRESH_PERIOD</param-name> 
    <param-value>1</param-value> 
</context-param> 
<context-param> 
    <param-name>facelets.DEVELOPMENT</param-name> 
    <param-value>true</param-value> 
</context-param> 

Es war so einfach!

+0

Strange.I versuchte in einem trivialen JSF-Projekt in Tomcat 6.0.29 ohne diese Einträge in der web.xml und die modifizierten XHTML-Dateien wurden sofort aktualisiert. Der einzige ähnliche Kontextparameter, den ich in web.xml habe, ist javax.faces.PROJECT_STAGE gesetzt zu Development.None der anderen – Cratylus

+0

Ich fand diesen Kontextparameter hier http://myfaces.apache.org/core20/myfaces-impl/webconfig.html, aber er hat keine Beschreibung. Ich werde es eine Bash geben und sehen, was passiert. – Gerrie

0

Sie sollten Tomcat Server im Debug-Modus starten. Wenn Sie eine IDE wie Eclipse verwenden, ist es einfach.

+0

THanks, aber ich habe das schon versucht. Kein Würfel. – Gerrie

+0

Was ist mit Klassen, die Sie geändert haben ?. Kann tomcat eine neue Version der modifizierten Klassen laden ?. –

+0

Ich habe noch keinen Unterricht probiert, also kann ich nicht sicher sein. – Gerrie

0

Ich habe das gleiche Problem mit Ihnen, und ich benutze Eclipse und Tomcat Server, und dann versuche ich, die Tomcat-Konfiguration in Publishing-Option auf Automatische Veröffentlichung bei Ressourcenänderung zu ändern.

Es funktioniert für mich ..

+1

Willkommen bei Stack Overflow! Antworten sollen dem Fragesteller helfen, sein Problem zu lösen. Ihnen zu sagen, dass es für Sie funktioniert, ist nicht der beste Weg, dies zu tun. Dies wäre wahrscheinlich besser als Kommentar. –