If you are using CEDET with Java, then there are a few Java specific options you may need to configure for your system.
You can configure CEDET to use programs from the JDK, such as java and javap.
Semantic can use your system Jar files to look up data for smart completion and other uses. To enable the system, you need to use the javap extension for semanticdb. To do that, require the semantic javap database in your .emacs file
In order for semantic to find your sources, or jar files for use with the javap database extension, you need a way to customize the classpaths used.
You can do that through a couple variables, and through EDE.
For large Java programs, it is important to setup EDE for it. While EDE can be used to create Makefiles or use Automake files for several languages, EDE also provides a way to merely describe a project so that tools like semantic can find your sources.
If you are programming for Android, then there is already a special EDE project type for that. See Android Features for more.
If you aren't programming with a supported EDE Java projec type, you
can identify your build system with the very simple
ede-java-root-project type. To use it, add this to your
.emacs file, or other configuration:
(global-ede-mode 1) ;; Enable EDE (ede-java-root-project "SOMENAME" :file "/dir/to/some/file")
where SOMENAME is a name for this project, and the file is a file or directory name that exists at the root of your java project directory. There are also options for customizing your classpath, both for the system, and local to your project. For more on this option, including class path settings see the ede-java-root chapter.