El problema es que no puede obtener una conexión a la base de datos MYSQL y, por lo tanto, arroja un error que dice que no se puede crear una fábrica de sesiones.
Por favor, vea el error a continuación:
Caused by: java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
que apunta a username
no se populated
.
Vuelva a comprobar las propiedades del sistema
dataSource.setUsername(System.getProperty("root"));
parece que faltan algunos paquetes que también apuntan a un problema de dependencia:
package org.gjt.mm.mysql does not exist
Ejecute una mvn dependency:tree
comando para buscar dependencias