Java support comes shipped with Emacs in the form of java-mode.
List of notable Java modes
- malabar-mode is a Java mode which was originally by Espen Wiborg. It has Maven integration, JUnit integration, support for Java generics, simple refactoring support and more. (no longer maintained)
- JDEE, Java Development Environment for Emacs, has intelligent Java code completion among other things. (jdee is currently maintained on github)
- java-mode provides basic Java 1.4 syntax highlighting.
- emacs-eclim communicates with the eclim plugin in Eclipse to get a headless Eclipse instance do the heavy-lifting of completion, simple refactoring, building, and code navigation when editing files in Emacs.
- meghanada-emacs aims to help with Gradle and Maven, code completion, jumping to declarations and more. It's based on meghanada-server written in Java, for JDK >= 1.8.
Language Server Protocol (lsp-mode)
It is reported to work well for Java projects, you should check it out !