Bom o erro te fala tudo, class or package not found.
verifique nomeação, arquivos de manifest, jars, arquivo corrompidos, gere de novo os arquivos, verifique todas as possibilidades.
Resolvi. O persistence.xml estava referenciando uma classe deletada.
Depurando o código vi que na propriedade cause da primeira exceção tinha uma ClassNotFoundException. Aproveitei e fiz um método para pegar a mensagem completa da exceção para mostrar na tela.
public static String getFullExceptionMessage(Exception e)
{
String message = e.getLocalizedMessage();
Throwable t = e.getCause();
while(t != null)
{
message += "\n" + t.getMessage();
t = t.getCause();
}
return message;
}