Når et Java-program bliver samlet, opretter compileren en liste over alle identifikatorer i brug. Hvis den ikke kan finde, hvad en identifikator refererer til (f.eks. Er der ingen) erklæring om erklæring for en variabel) kan den ikke afslutte samlingen.
Selvom Java-kildekoden indeholder andre ting som nøgleord, kommentarer og operatører, er Fejlen "Kan ikke finde symbol" refererer til navnet på en bestemt pakke, interface, klasse, metode eller variabel. Kompilatoren skal vide, hvad enhver identifikator refererer til. Hvis det ikke gør det, er koden grundlæggende på udkig efter noget, som kompilatoren endnu ikke forstår.
Undertiden opstår fejlen fra en kombination af problemer. Derfor, hvis du løser en ting, og fejlen vedvarer, skal du kontrollere for forskellige problemer, der stadig påvirker din kode.
For eksempel er det muligt, at du prøver at bruge en ikke-erklæret variabel, og når du løser den, indeholder koden stadig stavefejl.
Fejl som misforhold mellem aktivering markeres ofte i en dedikeret
integreret udviklingsmiljø. Selvom du kan skrive din Java-kode i en hvilken som helst tekstredigerer, reducerer brug af IDE'er og deres tilhørende fnugningsværktøjer skrivefejl og uoverensstemmelser. Almindelige Java IDE'er inkluderer Eclipse og NetBeans.