В Java много фреймворков. Например, вам не нужно использовать JUnit, вы можете использовать TestNG с практически такой же поддержкой инструментов. Также есть несколько насмешливых фреймворков.
С точки зрения стандартов кодирования, IDE поставляются со встроенными, а также есть несколько других доступных (я больше всего знаком с IDE, поэтому не знаю их имен).
У вас есть Eclipse в качестве IDE, если вы хотите бесплатно, а также NetBeans и за деньги есть IntelliJ IDEA среди других. Затем есть несколько IDE от крупных поставщиков, предназначенных для поддержки своих конкретных серверов приложений.
С точки зрения построения "сборок" (jars, wars и ear в мире java), в интегрированных средах разработки есть несколько встроенных инструментов для проектов с одним человеком, и есть Ant или Maven для полноценного инструмента сборки.
В инструментах автоматического тестирования есть много опций. Если вы имеете в виду непрерывную интеграцию, есть бесплатный CruiseControl и бесплатный TeamCity для низкого использования.
Что касается генераторов кода, то в целом мир Java пытается отойти от них в пользу аннотаций, но на ум приходит название xdoclet. В построении GUI, конечно, есть куча генераторов кода, предназначенных исключительно для построения GUI.
Это действительно едва царапает поверхность. Например, серверы приложений (JBoss, Oracle (теперь они владеют двумя с покупкой Sun) и IBM, среди прочих) являются важной точкой принятия решений во многих Java-проектах (это зависит от того, какой проект).
Ни одна из обсуждаемых категорий не является исчерпывающей, просто достаточной, чтобы дать вам отправную точку для изучения. В каждой категории есть еще много.
Самое замечательное в Java - это то, что есть так много вариантов. Недостаток Java в том, что существует так много вариантов ...