Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
5.2
-
None
Description
Deploying a multi-level context webapp to tomcat.
According to http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Automatic_Application_Deployment the war should be named foo#bar.war, tomcat unpacks the war to webapps/foo#bar and serve the webapp from http://hostname:port/foo/bar
However, tapestry IOC fails when attempting to use simple binding expressions, e.g. for "message:some-key":
org.apache.tapestry5.ioc.internal.util.TapestryException: Could not convert 'message:some-key' into a component parameter binding: URI has a fragment component [at classpath:....]
org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:82)
...
java.lang.IllegalArgumentException: URI has a fragment component
java.io.File.<init>(File.java:370)
org.apache.tapestry5.ioc.services.ClassFabUtils.toFileFromFileProtocolURL(ClassFabUtils.java:340)
...
It appears that java.net.URI considers #bar/WEB-INF/app.properties a "fragment" and that java.io.File(URI uri) barfs when fragment is set.
Help...?
I don't think I'm the only person who has experienced this - http://tapestry.1045711.n5.nabble.com/Multiple-level-context-path-not-working-in-tomcat-td2635336.html
Let me know if there is any further information I can provide to clarify the issue.
– Rich