Il existe trois types de problèmes générateur d'erreurs dans le langage Java.
Les problèmes de compilation se produisent lorsque le code source d'un programme Java est compilé.
Sous Unix, la première erreur javac: Command not found peut intervenir si la variable d'environnement PATH ne spécifie pas le chemin correct vers le compilateur Java. Dans ce cas, il suffit de modifier ce chemin par la commande setenv.
Les erreurs de syntaxe sont souvent dues à des fautes d'inattention ou de vocabulaire comme l'oubli d'un point-virgule à la fin d'une instruction ou la mauvaise orthographe d'une commande.
Les erreurs de sémantique sont provoquées par des irrégularités dans l'utilisation d'éléments d'un programme Java, tel qu'une variable non-initialisée.
Les problèmes d'interprétation se produisent lorsqu'un programme est soumis à l'interpréteur java.
Si une tentative d'interprétation d'un fichier .class est effectuée, l'interpréteur renverra une erreur indiquant qu'il ne peut trouver la classe appropriée.
Si la méthode main n'est pas présente dans une classe et que cette dernière est exécutée, une erreur sera lancée spécifiant que la méthode main n'est pas définie.
D'autres problèmes peuvent survenir lors de l'utilisation des appliquettes Java dans des pages HTML.
Plusieurs erreurs peuvent intervenir à cause d'une écriture incorrecte du balisage applet dans une page HTML, de difficultés à recharger une appliquette par l'afficheur Java du navigateur, de dysfonctionnement de l'applet sur le serveur HTTP, etc..