Skip to content


Wicket Resourcen mit Jetty nachladen

Bei großen Wicket-Projekten kann das hotdeployment des maven jetty plugins schonmal dazu führen, dass aus dem Vorteil ein Nachteil wird. Dabei ist das Ziel recht einfach: Nur die Html-Templates für die Wicket-Komponenten sollen neu geladen werden, wenn sich da was verändert hat. Alle Vorschläge aus den Foren sind mir zu aufwendig Außerdem mag ich die Html-Dateien nicht in das selbe Verzeichnis wie die Quelltexte legen. Ich habe mir daher einen für das Problem angepassten ResourceStreamLocator geschrieben:

 Java |  copy code |? 
01
public class MavenDevResourceStreamLocator extends ResourceStreamLocator
02
{
03
  String _prefix="src/main/resources/";
04
 
05
  public IResourceStream locate(final Class clazz, final String path)
06
  {
07
    IResourceStream located=getFileSysResourceStream(path);
08
    if (located != null)
09
    {
10
      // alles ok
11
      return located;
12
    }
13
    // fallback
14
    located=super.locate(clazz, path);
15
    return located;
16
  }
17
 
18
  private IResourceStream getFileSysResourceStream(String path)
19
  {
20
    File f=new File(_prefix+path);
21
    if ((f.exists()) && (f.isFile()))
22
    {
23
      return new FileResourceStream(f);
24
    }
25
    return null;
26
  }
27
}

Eingebaut wird das dann in die init-Methode der Application-Klasse wie folgt:
 Java |  copy code |? 
1
if (DEVELOPMENT.equalsIgnoreCase(configurationType))
2
{
3
  getResourceSettings().setResourceStreamLocator(new MavenDevResourceStreamLocator());
4
}

Und schon werden alle Änderungen an den Html-Dateien sichtbar.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Andere Beiträge

Posted in Maven, Wicket.

Tagged with , , , , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.