Non, pas vraiment. Enfin, déjà, ça n'a rien à voir avec le .java qui n'a pas besoin d'être distribué.
ClassNotFoundException est une exception soulevée lorsqu'on fait appel à une classe par son nom (String) qui n'est pas trouvée dans le classpath. Elle est soulevée par des méthodes comme Class.forName(nomDeClasse), ClassLoader.loadClass(nomDeClasse)...
NoClassDefFoundError est une erreur qui survient lorsque la définition d'une classe, pourtant présente à compilation, n'a pu être trouvée à l'exécution. Ici là cause mère (ClassNotFoundException) explique pourquoi on ne peut obtenir la définition.