Mam mały problem z moją konfiguracją Mavena. Wszystkie inne pytania i odpowiedzi tutaj nie rozwiązały mojego problemu, więc zaczynam nowe pytanie.Maven nie używa lokalnego repozytorium
Mój problem polega na tym, że moje Maven nie korzysta z lokalnego repozytorium. To zawsze pobiera artefakty ze zdalnych repozytoriów.
Po pobraniu artefaktu lub podczas budowania projektu jest on instalowany w lokalnym repozytorium, więc ścieżka jest poprawna.
Problem polega na tym, że gdy buduję jeden projekt SNAPSHOT, jest on instalowany tylko w lokalnym repozytorium (powinienem tak wyglądać, nie chcę go publikować za każdym razem w moim nexusie). Kiedy buduję kolejny projekt z poprzednim, jako zależność w pom.xml maven chce pobrać artefakt z serwera nexus, gdzie go nie znalazł, zamiast pobierać go z lokalnego repozytorium.
To mój Maven config:
<?xml version="1.0" encoding="UTF-8"?>
<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>C:\Users\Marc\.m2\repository</localRepository>
<interactiveMode>false</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<pluginGroups>
</pluginGroups>
<servers>
<server>
<id>releases</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>snapshots</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>nexus</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
<profiles>
<profile>
<id>nexussrv</id>
<repositories>
<repository>
<id>snapshots</id>
<url>http://nexus/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>releases</id>
<url>http://nexus/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>nexus</id>
<url>http://nexus/content/groups/public</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexussrv</activeProfile>
</activeProfiles>
</settings>
Pobieranie z Nexus i wydawniczych artefaktów (snapshot i Release) do pracy nexus z tej konfiguracji, ale nie korzysta z artefaktów z lokalnego repozytorium.
Dzięki za pomoc!
mhh. Ustawiam go zawsze z dnia na dzień, ale wciąż próbuję go odebrać z nexusa. –
Jak już wspomniano, maven sprawdza nexus raz dziennie. Jest to użyteczne, jeśli masz tam kilka migawek (np. Jeśli serwer CI go wdroży). Jeśli nigdy nie będziesz mieć shnapshotów na nexusie, powinieneś ustawić updatePolicy tak, by nigdy. – MrD
działa już teraz. dzięki! –