Hello,
I am not sure, if it is a bug of JSF or a problem of Jetty using a bad temporary directory for unpacking War-archives. The code called when f:metadata is available tries to compile a pattern using the path and fails if this path contains bad parameters.
I am using Jetty to evaluate JSF 2. I deployed the sample application from a 2.0 snapshot and got the following exception.
Best Regards
Sebastian Hennebrueder
Dangling meta character '+' near index 48
/private/var/folders/0a/0ajcnh+hGzuwRCjcXfj0QU+++TI/-Tmp-/Jetty_0_0_0_0_8080_ajax.request.war____22hbzl/webapp/
^
Caused by:
java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 48
/private/var/folders/0a/0ajcnh+hGzuwRCjcXfj0QU+++TI/-Tmp-/Jetty_0_0_0_0_8080_ajax.request.war____22hbzl/webapp/
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.sequence(Pattern.java:1878)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.replaceFirst(String.java:2146)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:335)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:216)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:149)
at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:102)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:239)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
[Message sent by forum member 'laliluna' (i_at_laliluna.de)]
http://forums.java.net/jive/thread.jspa?messageID=365938