As Vince correctly pointed out in the other forum thread:
The context-root of a web app deployed inside an ear is determined by:
1. the value of the context-root element in the ear file's
sun-application.xml file
2. the value of context-root element in the ear file's application.xml
3. the default value computed by using the module's web-uri...
The context root values in sun-web.xml will not get used in ear case.
And for your other two questions:
a) yes, the [] probably means the root context root.
b) the context root uniqueness is enforced on the instance and not at virtual server level today. So same context root cannot be used in different virtual servers if they are on the same server instance.
Yes, the error message should be improved to be more accurate.
[Message sent by forum member 'hzhang_jn' (hzhang_jn)]
http://forums.java.net/jive/thread.jspa?messageID=269573