After importing an existing project into IntelliJ 7.0.2 (allowing it to upgrade the project) from 6, the project seems to have problems with the Web module and continues to "forget" what the module actually is.
Each time the project is started, the following dialog appears:
Cannot determine module type for the following module:
"Web"
The module will be treated as a Java module.
At one point I detached the entire module and re-added it, which got it to work until the project was re-opened and the above error was encountered. When it works properly, the JSF EL syntax resolves to the beans declared in the faces-config.xml and I can navigate the structure of them in my JSF pages. When it does not, it says my JSF EL is broken and the faces-config.xml file does not show the tabs for viewing it with the GUI. The Web module still appears to have a Web facet which contains a JSF facet, but the project view shows the Web module without the Web icon (see module-settings screenshot - I'm not sure how else to describe it).
Attaced as "module-diff" is a diff between the WEB.iml file with the local version (not working) and the previous version (which was working). The only thing that was changed other than the line shown was the webroots/root/url:
<webroots>
<root url="file://$MODULE_DIR$/resources" relative="/" />
</webroots>
I changed the url value to point at the /resources directory so that my navigation-rules would not appear broken in the editor.
— EDIT —
After several more changes to the project module settings (with regards to the root url value) I have determined that the root url value MUST be set to the module directory for the JSF EL and faces-config.xml to work. However, that means that my valid navigation-rules in the faces-config.xml will report as broken in IntelliJ (though fixing them with IntelliJ by changing the path to include the /resources directory causes them to be broken when deployed). And regardless of how it is set up, I continue to get the "cannot determine module type" message every time I reload the project.