In my humble opinion, these are some of the reasons:
- JAVA is just not designed for RAD due to strict constructs of the language
- Difficulty in setting up java projects
- JSON manipulation is not easy
- Hot-deploys are not easy and seamless, and hence code-test-fix cycles become time-consuming
- Open source libraries are available for a lot of things but are often not well-documented and hence quite complex to use
- Freshers with good Java skills and startup-orientation are fewer since all college-coding happens in PHP, Python, Ruby, etc.