ejemplo:
Para el registro, mi código usa log4j
. pero otros tarros de los que depende mi código usan, en su lugar, slf4j
. Por lo tanto, ambos jarrones deben estar en la ruta de compilación. Desafortunadamente, es posible que mi código use directamente (dependa de) slf4j
ahora, ya sea por ayuda contextual o por algún otro cambio de desarrollador. Me gustaría que cualquier uso de slf4j aparezca como un error, pero mi aplicación (y las pruebas) aún lo necesitarán en la ruta de clase cuando se ejecute.eclipse, un classpath para compilar, otro para ejecutar
explicación:
Me gustaría saber si esto es posible en eclipse. Este escenario sucede a menudo para mí. Tendré un proyecto grande, que usa muchas bibliotecas de terceros. Y, por supuesto, esos frascos de terceros también tienen sus propias dependencias. Así que tengo que incluir todas las dependencias en el classpath ("ruta de compilación" en eclipse) para la aplicación y sus pruebas para compilar y ejecutar (desde dentro de eclipse).
Pero no quiero mi código para usar todos esos contenedores, solo las pocas dependencias directas que he decidido. Entonces, si mi código usa accidentalmente una dependencia de una dependencia, quiero que aparezca como un error de compilación. Idealmente, como clase no encontrada, pero cualquier error sería suficiente.
Sé que puedo configurar manualmente el classpath cuando se ejecuta fuera de eclipse, e incluso dentro de eclipse puedo modificar el classpath para una clase específica que estoy ejecutando (en las configuraciones de ejecución), pero eso no es manejable si ejecuta mucho de casos de prueba individuales, o tienen muchas clases principales().
otra buena respuesta, lástima que solo puedo elegir una. – DragonFax