Pregunta

En varios proyectos tengo algunos recursos (específicamente scripts de migración de bases de datos de Flyway) que me gustaría compartir.

¿Es posible que estos recursos compartidos existan como un artefacto de Maven, y antes de una construcción hayan resuelto? /src/main/resources/? Si es así, ¿cómo se haría esto?

¿Fue útil?

Solución

Si coloca algunos archivos en /src/main/resources Se colocarán en el ClassPath en el artefacto del frasco objetivo. Esto significa que si depende de tal artefacto, tendrá acceso a todos los recursos, al igual que tiene acceso a clases en él.

<dependency>
    <groupId>com.example.foo</groupId>
    <artifactId>my-resources</artifactId>
    <version>0.1</version>
</dependency>

Si my-resources El artefacto contiene algunos recursos en /src/main/resources, puedes acceder a ellos en tiempo de ejecución Al igual que usted (o cualquier otra biblioteca) puede acceder /src/main/resources contenido del mismo artefacto.

Tenga en cuenta que esto no funcionará con /src/test/resources Porque los recursos de prueba solo se colocan en classpath durante surefire Ejecución del artefacto actual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top