Estoy trabajando en un sistema de corrección de tareas para estudiantes. Permítanme tratar de dividir mi problema en un ejemplo simple.
Los proyectos que quiero revisar se ven así:
origen
Tarea 1
Ahora quiero verificar si el proyecto tiene una implementación correcta, pero no puedo asegurar que Solution1.java exista, por lo que estoy usando la reflexión para acceder a las clases.
Estoy copiando un paquete en la carpeta src, por lo que el nuevo proyecto se ve así.
origen
Tarea 1
No sé si Solution.java realmente existe, así que estoy usando reflejos.
Class.forName("Task1.Solution1");
Ahora estoy compilando todo dentro del proyecto y ejecuto el archivo Correction.java en Linux.
Esto funciona bien hasta ahora.
Para acelerar el proceso, traté de crear un archivo Solution.jar, por lo que no tengo que compilar el archivo para cada proyecto. Cuando ejecuto el archivo jar, obtengo una excepción ClassNotFound, cuando intento acceder a Solution1. El archivo jar se encuentra dentro del paquete de corrección.
Estoy comenzando dentro de la carpeta src y ejecuto:
java -jar ./Correction/Correction.jar
¿Alguien sabe por qué esto podría estar sucediendo?