Scusa, ma una java.lang.ClassCastException non potrebbe significare che stai commettendo un errore, forse nella riga:

UserHome uh=(UserHome) ctx.lookup("User");
A me sembra di capire che ctx.lookup("User") estenda org.jnp.interfaces.NamingContext ma non sia un UserHome