L'un des arguments que je n'ai pas vu cité ici quant à l'adoption de Java EE pour un gros projet et qui me semble pourtant essentiel, c'est ce qu'EST une grosse plateforme d'entreprise (intranet, vente en ligne, gestion de stocks, service en ligne divers, …).
En fait, j'étendrais ce que SpaceFox appelle "projet perso" par "plateforme web standalone de taille relativment limitée". En cela, ZdS est un bon exemple. ZdS propose un ensemble d'outils permettant la rédaction et le partage de connaissances. Ca peut être gros, lourd, mais c'est relativement cadré. Là où Amazon, EBay, … Proposent une plateforme qui, fonctionnellement, me paraît sensiblement plus complexe (comprendre : avec plein de fonctionnalités complexes cachées au visiteur : l'envoi de courriels en masse, outils de reporting, …).
En fait Java EE prend tout son nitérêt, selon moi, quand le projet n'est plus "un simple site web" (c'est flou… j'en conviens) mais qu'on a besoin d'interconnecter beaucoup de petites briques fonctionnelles par ci par là et surtout surtout, partager et factoriser un maximum de composants entre ces différentes briques.
Je n'ai pas retrouvé, dans beaucoup de langages et/ou frameworks d'outils aussi aboutis que maven et/ou Nexus par exemple (il me semble que Python dispose d'un système relativement équivalent) simplifiant drastiquement la gestion des dépendances dans un projet de très grande envergure. Publier un composant ou un artifact dans un dépôt, le versionner comme il faut pour qu'une autre brique logicielle de la plateforme s'en serve à bon escient (et éventuellement dans un contexte différent du web) me semble relativement simple (c'est relatif) dans le contexte Java EE, nettement plus complexe avec d'autres technologies. NB (edit) : et surtout ils sont généralement plus mûrs : c'est de Java EE que ce genre d'outils a emergé.
Et je pense que c'est aussi ce genre d'outils qui poussent les gens en entreprise à s'orienter vers Java EE. En gros : l'assurance de pouvoir suivre l'apparition de nouveaux modules (mais des vrais gros modules hein, pas juste un petit système d'authentification) au fil de la vie du projet, sans se retrouver : soit à tout recoder, soit à bricoler des passerelles "à la main" impossibles à maintenir.