In my case, I observed this problem when I tried to place my framework in a folder which does not have the same name as the framework's name. E.g. I had a framework called "KlokDB" and I placed in a folder "KlokDB/trunk" or "KlokDB/trunk/KlokDB1", I got "ERXExtensions have not been initialized." exception. The moment I moved my framework to "KlokDB" or "KlokDB/trunk/KlokDB", it worked.
In my case, I observed this problem when I tried to place my framework in a folder which does not have the same name as the framework's name. E.g. I had a framework called "KlokDB" and I placed in a folder "KlokDB/trunk" or "KlokDB/trunk/KlokDB1", I got "ERXExtensions have not been initialized." exception. The moment I moved my framework to "KlokDB" or "KlokDB/trunk/KlokDB", it worked.
The most common problem seems to be:
1) java.lang.NoClassDefFoundError:com/webobjects/appserver/WOApplication
but I don't see the problem discussed this way.
2) Suggestion: Add notes saying where LOCALROOT and WOROOT are defined, and what files need to be there, etc.
The best way to NOT have this issue is to embedded the frameworks into the application bundle.
The best way to start solving these problems is to launch the application from the command line.
Navigate in terminal to the .woa folder and then type,
./YourWOApplicationName