Domanda

Attraverso diversi progetti ho un po ' risorse (in particolare Flyway script di migrazione di database) che mi piacerebbe essere condivisa.

E 'possibile avere queste risorse condivise esistere come artefatto Maven, e prima di una build di avere Maven determinazione che la dipendenza e scompattare il contenuto del manufatto a /src/main/resources/? Se è così, come si potrebbe andare su questo?

È stato utile?

Soluzione

Se si inserisce alcuni file in /src/main/resources che verrà inserito nel classpath in un artefatto bersaglio JAR. Questo significa che se si dipende da un tale manufatto, si avrà accesso a tutte le risorse, proprio come si ha accesso alle classi in esso.

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

Se my-resources artefatto contiene alcune risorse in /src/main/resources, è possibile li in fase di esecuzione , proprio come voi (o qualsiasi altra libreria) possibile accedere ai contenuti /src/main/resources dallo stesso manufatto.

accedere

Si noti che questo non funzionerà con /src/test/resources perché le risorse di test sono posizionati solo sul CLASSPATH durante l'esecuzione surefire del manufatto in corso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top