I am building an application that has several opportunities for the users to customize the application. It is a web application built on Struts, Tiles, JSTL, and other related technologies. Most of the customization has to do with either extending my existing classes or implementing interfaces.
Part of the thing people need to customize is graphics, styles and somtimes whole tiles or pages. Has anyone developed a mechanism for specifying paths (or any other technique) that will allow a user to specify that for their installation one of the gifs will be in another directory or the css styles will be in another directory. I don's want the users to have to replace things in the distributed directory (they should be able to keep the original).
Thanks in advance.
Are the "users" actually building the webapp using an Ant build script? How are they customizing their installation for other things, such as database connections, etc.? In my Ant build system, I use a custom velocity task that merges templates exposing the ant project properties in the VelocityContext. That way, every point of customization for my application can be changed in one place, my build.properties file.