Adding to what Steve said: if the deployment descriptor is declared as 2.4, it cannot work in a 2.3 environment. A 2.3 deployment descriptor, on the other hand, will work in a 2,4 environment (though it will place the app into "compatibility mode" and revert to 2.3 and JSP 1.2)
These are the two errors which are pretty vague and general in nature. The EAR file might be corrupt or incomplete. com.ibm.etools.j2ee.commonarchivecore.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml
errors in log are
[8/12/08 14:57:27:422 EDT] 0000002e R UOW= source=SystemErr org=IBM prod=WebSphere component=Application Server thread=[WebContainer : 0] com.ibm.etools.j2ee.commonarchivecore.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml !Stack_trace_of_nested_exce! com.ibm.etools.j2ee.commonarchivecore.exception.EmptyResourceException: WEB-INF/web.xml at com.ibm.etools.j2ee.commonarchivecore.util.ArchiveUtil.getRoot(ArchiveUtil.java:372)
I have inspected the web.xml thoroughly and getting worried that this error may not be the root cause.
Check for other silliness, like mis-spelled context names/EAR/WAR files, and you might try passing your web.xml through a validator which checks it for being well-formed XML (I like validome myself). Same goes with any other configuration file your application depends on.
Joined: Jul 11, 2008
Ok one question. In servlet spec 2.3, in web.xml should there be <jsp-config> enclosing <tag-lib> I am sure in 2.4 we need this. Does 2.3 has a problem with it?
The specification doesnt say NO to it. But doesnt say there should be jsp-config enclosing tag lib declarations!