/Files (DirAssets) has nothing to do with an ABM project. When you start a new project, you always have to first copy the complete /library/www folder from the zip file to your /Objects folder. These CSS/JavaScript/Font files from the framework are not generated.
So structure after compiling should be:
project.b4j
/Objects/
/Objects/project.jar
/Objects/copymewithjar.needs
/Objects/copymewithjar.js.needs (only created if you use B4JS code)
/Objects/www/
/Objects/www/js (and all its subfolders)
/Objects/www/css (and all its subfolders)
/Objects/www/font (and all its subfolders)
/Objects/www/project (and all its subfolders)
...
So, when you deploy, you have to copy the .jar, the .needs files AND the /www folder (bold above) to your server and start the .jar
The reason you have to always compile in debug mode once is that it creates the .needs files from analyzing your source (so if you add a new component type, you will need to do this again as the .needs files need updating). When you run in release mode, the source code is not analyzed (on your server the source is not even available) and the info from the .needs files is used instead.
Alwaysbusy