Il classpath è il percorso in cui il classloader va a cercare i file .class relativi alle tue classi, per cui se esso è impostato a progetti esterni, il classloader va a cercare i file nel posto sbagliato e non li trova. A mio avviso è meglio impostare il classpath "caso per caso" come parametro del comando
java, ad esempio:
java -cp "path-del-bytecode" MainClass
Anche eclipse permette di passare parametri in questo modo attraverso il "run configuration".