Maven nie pobiera kompilacji migawek z repozytorium
Nasze wewnętrzne repozytorium (Artifactory) zawiera teraz zarówno stabilne Kompilacje, jak i wersje migawkowe naszych wewnętrznych bibliotek.
Dla stabilnych kompilacji nigdy nie było problemu z pobraniem czegokolwiek z repozytorium.
Jednakże, kiedy dodam migawkę, Maven twierdzi, że nie jest w stanie znaleźć zależności, mimo że jest ona zdecydowanie w repozytorium.
Jeśli buduję i wdrażam zależność lokalnie (tj. do mojego lokalnego repo), wszystko działa normalnie.
W Zasadzie to działa:
<dependency>
<groupId>com.example</groupId>
<artifactId>ourlibrary</artifactId>
<version>1.0.0</version>
</dependency>
A to nie:
<dependency>
<groupId>com.example</groupId>
<artifactId>ourlibrary</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
Mimo że obie wersje zostały zbudowane w ten sam sposób i wdrożone (o ile mogę to powiedzieć) poprawnie do repozytorium.
Błąd:
Missing:
----------
1) com.example:ourlibrary:jar:1.0.1-SNAPSHOT,
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=com.example -DartifactId=ourlibrary -Dversion=1.0.1-SNAPSHOT, -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=com.example -DartifactId=ourlibrary -Dversion=1.0.1-SNAPSHOT, -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) com.example:product:war:2.0.0-SNAPSHOT
2) com.example:ourlibrary:jar:1.0.1-SNAPSHOT,
Chociaż brzmi to podobnie do tego pytania , uchwała, którą tam otrzymałem, nie odnosi się do mojego przypadku.
Wszelkie spostrzeżenia na ten temat będą bardzo mile widziane.
Edit
Running with -X (jak zasugerował Jan V.) ujawnił co następuje:
[DEBUG] Skipping disabled repository central
[DEBUG] ourlibrary: using locally installed snapshot
[DEBUG] Skipping disabled repository central
[DEBUG] Using mirror: http://repo.example.com/repo (id: repo.example.com)
[DEBUG] Artifact not found - using stub model: Unable to download the artifact from any repository
com.example:ourlibrary:pom:1.0.1-SNAPSHOT
from the specified remote repositories:
repo.example.com (http://repo.example.com/repo)
[DEBUG] Using defaults for missing POM com.example:ourlibrary:pom:1.0.1-SNAPSHOT:compile
[DEBUG] com.example:ourlibrary:jar:1.0.1-SNAPSHOT:compile (selected for compile)
2 answers
Na myśl przychodzą dwie myśli:
-
Struktura ścieżki w twoim wewnętrznym repozytorium dla Twojego artefaktu jest błąd. Proponuję uruchomić polecenie maven z parametrem-X. Informatyka wyświetli próbę Mavena na pobieranie plików. Get the line który ma twoje repozytorium jako adres url i spróbuj poszukać tego sam.
Ścieżka powinna wyglądać jak
/com / example/ourlibrary/1.0.1 / OURLIBRARY-1.0.1-SNAPSHOT.jar
- nie uwzględniłeś swojego repozytorium jako repozytorium w Twoim pom.xml
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-04 14:53:39
Zazwyczaj masz oddzielny adres URL migawek od adresu URL wersji. Tylko różne ścieżki w tym samym repozytorium, ale wymienione jako oddzielne repozytoria w pom. Ten dla migawek musi mieć włączone migawki, a ten dla wydań ma wyłączone migawki:
<repositories>
<repository>
<id>central</id>
<url>
http://<releases-url>
</url>
**<snapshots>
<enabled>false</enabled>
</snapshots>**
</repository>
<repository>
<id>snapshots</id>
<url>
http://<snapshots-url>
</url>
<snapshots>
**<enabled>true</enabled>**
<!-- never, daily, interval:X (where X is in minutes) or always -->
<!--<updatePolicy>daily</updatePolicy> -->
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-04 15:04:15