The right solution would be to have TLD as proper metadata.
And I think this is what Remy is already working on,
perhaps even done, but he needs an update to JBossXB,
which needs an update to VFS + Deployers, which need update to Kernel. :-)
And the "real" issue is, that I have mvn build problems,
hence cannot do some temp releases: http://www.jboss.org/index.html?module=bb&op=viewtopic&t=152721&postdays=0&postorder=asc&start=10
Remy says it will take some time. Until then, is it possible to implement the symlink solution to make it look like my jar is in WEB-INF/lib?
Like I said, read the previous discussion,
there are some pointer on what can be done.
If all you need is that this jar is part of classpath,
you can add it as you're already adding other stuff
(afair your jsf deployer).
Assembled VFS is what symlink could be,
but that would mean you would have to modify/change
underlying deployment's root.
But even that depends on what/how the stuff is doing
that handles your .tld.
Afaik it currently doesn't work on VFS,
hence even VFS can't do any "magic". ;-)
OK. I guess I'm stuck for now. The JSFDeployer will have to wait until Remy is done.
Is there anyupdate on the TLD issue? is is being tracked in jira anywhere?
There are a few ways of getting around it right now, but they are a pain.
- getting the actual location of where the webapp is deployed and copying the file across. Finding the actual file location is a big pain requiring many levels of hacks.
- manipulating the web.xml metadata (easily done with a deployer) to redefine the JspServlet. This will override the JspServlet setting in jboss-web.deployer/web.xml (the shared web.xml file for all webapps). By setting a properly formatted <init-param> for the JspServlet you can make it add any tld from any specified jar with no requirements on it existing in the WEB-INF directory of your webapp.
<init-param> <description>JSTL standard tlds</description> <param-name>tagLibJar2</param-name> <param-value>../location-to-jar/jar-containing-tld.jar</param-value> </init-param>
The problem here is that it does change the global JspServlet setting and all webapps will be able to find your tlds. And its probably not the safest operation to be overwriting the JspServlet like this, but it is possible.
It would be a lot easier if this default global web.xml was being handled by deployers and was being exported as an attachment that other deployers could use (like the current MergedJBossWebMetaDataDeployer).
I pinged Remy on this a few days ago. He said it's in progress but it will take some time.