Dependencias de prueba del proyecto Java9 de módulos múltiples de Java
Tengo un proyecto maven multimódulo con tres móduloscore
, utils
ytest-utils
Core tiene la siguiente definición de dependencias
<dependency>
<groupId>my.project</groupId>
<artifactId>utils</artifactId>
</dependency>
<dependency>
<groupId>my.project</groupId>
<artifactId>test-utils</artifactId>
<scope>test</scope>
</dependency>
He agregado Java 9module-info.java
definiciones para los tres módulos ycore
Se ve así:
module my.project.core {
requires my.project.utils;
}
Sin embargo, no puedo entender cómo llegarcore
clases de prueba para poder ver eltest-utils
clases durante la ejecución de la prueba. Cuandomaven-surefire-plugin
Intenta ejecutar la prueba. No se encuentra la clase.
Si agrego unrequires my.project.testutils;
acore
'smodule-info.java
:
module my.project.core {
requires my.project.utils;
requires my.project.testutils; //test dependency
}
Luego, en el momento de la compilación, aparece el error de quemy.project.testutils
no se puede encontrar el módulo (presumiblemente porque solo se incorpora como una dependencia de prueba).
¿Cómo funciona uno con dependencias de prueba en un mundo modular de Java 9? Por razones obvias, no quiero que mi código principal extraiga dependencias de prueba. ¿Me estoy perdiendo de algo?