[jboss-as7-dev] Detecting deployment location errors for xml files using a JEE schema

Carlo de Wolf cdewolf at redhat.com
Wed Feb 29 06:51:08 EST 2012


On 02/24/2012 04:57 PM, Jason T. Greene wrote:
> On 2/24/12 8:36 AM, Paul Robinson wrote:
>> A common problem I see again and again is when people miss-spell the
>> filenames of XML artefacts that live in the META-INF and WEB-INF
>> directories of a JEE archive. I also see people (myself included)
>> putting these artefacts in the wrong location, For example, putting the
>> beans.xml file in the META-INF of a .war when it belongs in the WEB-INF.
>> This can cause a big headache as it looks like you have created the
>> right artifact, but it is not taking effect. It would be great if we
>> could detect this type of thing and warn the developer at deploy time.
>> There seems to be a move towards using marker files (beans.xml,
>> faces-config.xml) to enable technologies, so this issue could become
>> more prevalent.
>>
>> One solution, I was thinking about, is to check the schema type of all
>> the XML files in the META-INF and WEB-INF directories. For each schema
>> that we recognize (http://java.sun.com/xml/ns/persistence for example),
>> we check that it's file name is correct and it is in a location where it
>> will be processed.
>>
>> Does this sound like a sensible thing for us to do?
> I think the idea is good, but looking at the content of all xml files
> would slow down deployment time, especially for large complex nested
> deployments. So if we did this as part of deployment it would be more
> efficient to do it based on file name matching. Common misspellings
> could be checked for using a static map. So I would still prefer
> extensive checking like this to be an optional deployment tool/maven
> task. If however someone comes up with a patch which is able to
> demonstrate no significant delay, we would certain reconsider.
>
How about we simple look through META-INF/* and INFO anything that we 
can't process?
Keeping a simple configuration in domain with white/black list expressions.

Carlo


More information about the jboss-as7-dev mailing list