Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1582

IOC doesn't like tomcat multi-level contexts

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 5.2
    • None
    • tapestry-ioc

    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

      Attachments

        Activity

          People

            Unassigned Unassigned
            quiffman Richard Guest
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: