As I just had it happening again, these are the steps I did this morning:
- Started up Eclipse fresh (I usually let my computer sleep and don't restart Eclipse)
- Make a change to a .jsp file and .java file
- As part of my automatic ritual, executed Clean... on the Server runtime (the one that publishes from scratch)
- Started up the server in Debug
As it appeared, all my files where there, but WEB-INF/lib was completely empty.
I then did the following:
- Closed the three projects that make up my EAR app (the ear, and the ejb + web modules)
- Re-opened those same three projects again
- Executed Clean... on the Server runtime
Upon inspecting the deployment, all the files in WEB-INF/lib were back again.
The workaround is thus pretty straightforward, but it can be very frustrating if you don't know this exact workaround.