Situation: Tomahawk 1.1.6 is used in a myfaces 1.2.0 application. The computer where the application is run on is not connected to the internet.
Problem: Myfaces refuses to start.
Expected behaviour: Myfaces should start.
Analysis: When debugging, the error is that myfaces cannot resolve the dtd declaration in tomahawk's faces-config.xml file. I do not think this is tomahawk's problem, because tomahawk wants to be myfaces-1.1 compatible. Myfaces should provide the web-facesconfig_1_0.dtd and web-facesconfig_1_1.dtd in its jar.
In a short glance at the code in org.apache.myfaces.config.impl.FacesConfigEntityResolver , it might seem that these resources are still provided:
public InputSource resolveEntity(...)
stream = ClassUtils.getResourceAsStream(FACES_CONFIG_1_0_DTD_RESOURCE);
else if (systemId.equals(FACES_CONFIG_1_1_DTD_SYSTEM_ID))
stream = ClassUtils.getResourceAsStream(FACES_CONFIG_1_1_DTD_RESOURCE);
However, the referenced resources (web-facesconfig_1_0.dtd and web-facesconfig_1_1.dtd in the org.apache.myfaces.resource package) are not packaged in any myfaces 1.2 jar. They used to be present in myfaces-impl-1.1.x.jar
Proposed Resolution: provide web-facesconfig_1_0.dtd and web-facesconfig_1_1.dtd in the org.apache.myfaces.resource package in myfaces-impl-1.2.x.jar