W tym celu możemy wykorzystać jakiś hosting, własny komputer albo dowolny w sieci lokalnej.
Konfiguracja polega na tym że w projekcie mavenowym który chcemy dystrybuować do naszego repozytorium dodajemy poniższą konfigurację:
<distributionManagement> <repository> <id>nazwa-naszego-repozytorium</id> <url>ftp://nasz-adres-serwera</url> </repository> </distributionManagement> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ftp</artifactId> <version>2.1</version> </extension> </extensions>
</build>
Korzystamy tutaj z pluginu wagon-ftp, który umożliwia nam deployowanie naszej aplikacji na serwer.
Teraz wystarczy skonfigurować odpowiednio luncher mavenowy np tak:
clean javadoc:jar source:jar deploy
Często oprócz samego wysyłania jar`a na serwer potrzebować będziemy wysłać także jego sources lub doc. Jeśli tego nie potrzebujemy możemy usunąć z powyższego zapisu javadoc:jar lub source:jar.
Kolejnym krokiem jest skonfigurowanie danych dostępowych do naszego mavenowego repozytorium. Robimy to w katalogu mavena w pliku settings. Na windows domyślny path to:
C:\Users\<User>\.m2
Edytujemy plik według tego schematu:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups/> <servers> <server> <id>nazwa-naszego-repozytorium</id> <username>uzytkownik-ftp</username> <password>haslo-do-ftp</password> </server> </servers> <mirrors/> <proxies/> <profiles/> <activeProfiles/> </settings>
Czyli w sekcji pluginGroups, dodajemy servers i podajemy dane do logowania do naszego serwera ftp oraz id repozytorium po którym nasz plugin wagon rozpozna serwer i zaloguje się do niego.