Switiching from project to project is one of the most rewarding things about being a consultant but it is also extremely frustrating. Every few months I found myself asking people, where may I find X? When I would verbalize my frustration, my customers would dismiss it saying that its part of the process of "getting up to speed", however I would prefer to spend my time implementing features. Why must I be burdened with this accidental complexity?
That's one of the things that I love about Rails. What stands out to me immediately is how everyone seems to know where to find X.
Rails encouraged me to organize my Java web projects in a way that is intuitive to people. The results have been mostly positive; easier to understand file structure; increased diligence in using domain language for naming; common names for related features; easier to understand the relationship between view components and "server-side" code; and reduced complexity of our configuration files. I highly recommend that you go back to basics and start simplifying your code base structure!