El compilador de Maven no puede resolver la importación

Dec 07 2020

Estoy intentando crear varios productos de eclipse con maven y tycho. Actualmente estoy atascado en un problema, donde un paquete A depende de una clase del paquete B. El paquete B tiene una estructura de paquete similar a:

a.b.c.d.e.f.Class

Cuando ahora intento construir AI, aparece un error de compilación que se parece a esto:

 import a.b.c.d.e.f.MyClass;
[ERROR] ^^^^^^^^^
[ERROR] The import a.b.c.d.e cannot be resolved

Si observa de cerca, verá que Maven aparentemente intenta resolver el paquete incorrecto, ya que solo indica que no se puede resolver a.b.c.d.emientras la clase que se debe importar está realmente en a.b.c.d.e.f.

Además, no hay clases presentes en a.b.c.d.e. Intenté incluir ambos a.b.c.d.ecomo un paquete exportado en el manifiesto y eliminarlo de esa lista, pero ninguno ayudó.

¿Cuál podría ser el problema aquí?

Respuestas

1 Radioo Dec 07 2020 at 20:08

Después de ejecutar maven con un registro muy detallado, verifiqué dos veces los argumentos, que maven (tycho) pasaba al compilador JDT al compilar el Bundle A. Noté que solo pasaba un JAR que agregué al classpath del Bundle B.

Luego me di cuenta de que en el MANIFIESTO del paquete B, donde especifiqué Bundle-Classpath, solo tenía The JAR en la ruta de clases. Anteriormente pensé que las clases del paquete en sí se agregarían por defecto, pero después de agregar ,.a la Bundle-Classpathpropiedad, la compilación funcionó nuevamente.

Si quieres leer más sobre esto, ESTE POST me indicó la dirección correcta.