Niedawno widzieliśmy błąd, w którym Maven próbuje odzyskać SNAPSHOT, który nie istnieje. Jak widać, numer kompilacji (cokolwiek to jest, ponieważ to nie jest nasz numer kompilacji), pasuje, ale znacznik czasu nie powoduje, że kompilacja się nie powiedzie. Zdarza się to raz na każde 20 kompilacji.Czy mogę zmienić znacznik czasu migawki na numer kompilacji?
Jest to Nexus:
I to jest to, co się dzieje podczas kompilacji:
Jak widać stara się odzyskać relations-models:jar:1.1-20170901.134955-278
który nie istnieje, natomiast 20170901.134954-278
robi. Zwróć uwagę na przesunięcie o jedną sekundę.
- Czy ktoś jeszcze ma ten problem? A obejście?
- Zastanawiam się nad zastąpieniem znacznika czasu numerem kompilacji, ale nie mogę znaleźć sposobu na wpłynięcie przyrostków migawek. Czy ktoś wie, jak to zrobić?
Dotyczy to (dużego) projektu wielomodułowego, w którym jest to jeden z podmodułów.
Wtyczka Jar jest skonfigurowany jak to
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>me.magnet.redirect.RedirectService</mainClass> <useUniqueVersions>false</useUniqueVersions> <classpathLayoutType>custom</classpathLayoutType <customClasspathLayout>$${artifact.artifactId}-$${artifact.baseVersion}.$${artifact.extension}</customClasspathLayout> </manifest> </archive> </configuration> </plugin>
a plugin deploy tak:
Build biegnie równolegle zbyt.
Czy maven-metadata.xml pokazuje poprawną wersję? – Ferrybig
Sufiks jest standardem Maven. Prawdopodobnie jest to zły pomysł, aby go zmienić (jeśli w ogóle jest to możliwe). Pokaż nam swój pom, abyśmy mogli dowiedzieć się, dlaczego to przesunięcie występuje. –
Czy ten problem występuje w wielomodułowej kompilacji, czy dzieje się to przy kompilacji generującej artefakty, podczas gdy inna kompilacja go zużywa? Czy te kompilacje działają równolegle? – khmarbaise