is it mandatory (i.e by the Spec) that a WAR file must have a META-INF directory?
As far as i know, even WEB-INF folder is not a must in a web app. Am I right?
What does SCWCD expect as answer for such a question?
As per what I have read in SCWCD exam study guide by David Bridgewater , it says
"Having a directory called WEB-INF is a strong recommendation ,but not an obligation.
If a question asks you to say whether a web application must have particular directories.The correct answer is "No"."
Hence ,I am not clear on what is the right answer? Is there an error in the above statement?
To deploy a web app successfully, you MUST follow this structure. WEB-INF must be immediately
under the application context (MyTestApp in this example). The “classes” directory must be
immediately inside “WEB-INF”. The package structure for the classes must be immediately inside
“classes”. The “lib” directory must be immediately inside “WEB-INF”, and the JAR fi le must be
immediately inside “lib”. The “META-INF” directory must be immediately inside the JAR, and TLD
fi les in a JAR must be somewhere under “META-INF” (they can be in any subdirectory, and “TLDs” is
not required as a directory name). TLDs that are NOT in a JAR must be somewhere under “WEB-
INF”. Tag Files (fi les with a .tag or .tagx extension) must be somewhere under “WEB-INF/tags”
(unless they’re deployed in a JAR, in which case they must be somewhere under “META-INF/tags”).
Ankit Garg wrote:The spec is unclear about whether WEB-INF is mandatory. Checkout this old thread on this...
Thanks for all the replies..
I have checked the spec and the above referred thread. There is nothing mentioned clearly about whether WEB-INF and META-INF are mandatory.
Finally is it correct to say that WEB-INF & META-INF directories must be there. Is that correct? thats what the exam expects?
But at this link ScwcdHints , point 12 is contradictory. I believe its taken from DavidBRIDGEWATER book.
Finally is it correct to say that WEB-INF & META-INF directories must be there
Not exactly, they should be there in normal circumstances, but if you leave them out the behaviour of your web-app is not guaranteed.
For the tomcat container there is no problem: the application works ok (but that doesn't guarantee the same behaviour in another container)
I am pretty sure that they won't ask such a question in an exam because the specs are not clear about it. Exam questions are based on the things that are specified.