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

Paul Robinson paul.robinson at redhat.com
Wed Feb 29 06:47:41 EST 2012



On 24/02/12 15:57, 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.
>
Would scanning common locations (/, WEB-INF, META-INF...) be that 
costly? I don't think we would need to scan the entire archive, to spot 
common problems. Also, I would have thought you could obtain the 
document schema without parsing the whole XML file.

Paul.

-- 
Paul Robinson
Web service transactions lead
paul.robinson at redhat.com

JBoss, a Division of Red Hat
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham (USA), Brendan Lane (Ireland), Matt Parson
(USA), Charlie Peters (USA)



More information about the jboss-as7-dev mailing list