2011-09-25 12 views
9

Moje potrzeby są dość proste, ale nie mogłem znaleźć żadnej czystej odpowiedzi: po prostu muszę mieć możliwość dystrybucji zasobu w projekcie wielomodułowym.Kopiowanie zasobów Maven w projekcie wielomodułowym

Rozważmy na przykład plik LICENCJI, który uważam za taki sam dla wszystkich modułów. Wolę nie kopiować ręcznie do każdego modułu, ponieważ plik może się zmieniać z biegiem czasu. Wolę też nie statycznie łączyć się z zasobami (nawet jeśli korzystam ze ścieżek względnych) poza folderem projektu, ponieważ struktura modułowa również może się zmienić.

Czy jest jakaś wtyczka, która może być użyta do solidnego zagwarantowania, że ​​każdy moduł otrzyma wymagany plik? Równie dopuszczalne byłoby uzyskanie takiej kopii poprzez wykorzystanie POM projektu nadrzędnego lub bezpośrednio przez super projekt w hierarchii modułowej.

Odpowiedz

12

można użyć wtyczki montażu i zależności .. czy natknął się na ten link? http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/

to opisuje, że ..its opcję z 2008 roku, ale Maven jest od dłuższego czasu .. więc myślę, że jest to bardziej lub mniej na bieżąco

edycji dotyczące komentarz
Inną opcją jest maven-remote-resources-plugin. Bardziej szczegółowy przykład zobaczyć:
http://maven.apache.org/plugins/maven-remote-resources-plugin/examples/sharing-resources.html

Ponieważ ich Intro rzeczywiście mówi sama za siebie, cytuję (maven.apache.org)

Wtyczka służy do pobierania słoiki z zasobów zdalnych repozytoriów z , przetwarzaj te zasoby i włącz je do JARów, które budujesz z Maven. Bardzo częstym przypadkiem użycia jest potrzeba spakowania określonych zasobów w spójny sposób w całej organizacji: w Apache wymagane jest, aby każdy wyprodukowany JAR zawierał kopię licencji Apache oraz plik powiadomienia, który odwołuje się do całego używanego oprogramowania w danym projekcie .

+0

Niezupełnie ta konkretna strona, ale tak, majsterkowanie z deskryptorem zespołu nie było rozwiązaniem, na które liczyłem pod względem prostoty. Dziękuję i tak, na razie :) –

+0

Przepraszam, nie znam żadnej nowszej opcji lub bardziej odpowiedniej wtyczki –

+0

Z tego samego łącza, które podałeś, dowiedziałem się, że _maven-remote-resources-plugin_ działa dobrze z bardziej kompaktowa konfiguracja. Przyjmuję twoją odpowiedź, jeśli połączysz ją z pokrewnym wyjaśnieniem, dla innych czytelników. –