Błąd podczas wdrażania artefaktu w Nexusie

Otrzymuję błąd podczas wdrażania artefaktu we własnym repozytorium na serwerze Nexus: "Nie udało się wdrożyć artefaktów: nie można przesłać artefaktu" " nie udało się przesłać pliku http:///my_artifact. Kod zwrotu to: 400 "

Mam uruchomiony Nexus z jednym niestandardowym repozytorium my_repo z następną lokalną konfiguracją Mavena:

Ustawienia.xml

<server>
    <id>my_repo</id>
    <username>user</username>
    <password>pass</password>
 </server>
 ...
 <mirror>
    <id>my_repo</id>
    <name>Repo Mirror</name>
    <url><my_url_to_my_repo></url>
    <mirrorOf>*</mirrorOf>
  </mirror>
  • użytkownik ma uprawnienia do tworzenia / odczytu/zapisu do my_repo -

Pom.xml

<distributionManagement>
        <repository>
            <id>my_repo</id>
            <name>my_repo</name>
            <url><my_url_to_my_repo></url>
            <layout>default</layout>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots</name>
            <url><my_url_to_my_snapshot_repo></url>
        </snapshotRepository>
    </distributionManagement>

I wykonuję

mvn deploy

I uzyskać błąd. Jakiś pomysł?

Author: acimutal, 2013-09-06

13 answers

Kilka rzeczy, które mogę wymyślić:

  • dane uwierzytelniające użytkownika są błędne
  • url do serwera jest zły
  • Użytkownik nie ma dostępu do repozytorium wdrożeń
  • Użytkownik nie ma dostępu do określonego repozytorium docelowego
  • artifact jest już wdrożony z tą wersją, jeśli jest to wersja release (Nie-wersja migawki)
  • repozytorium nie nadaje się do wdrożenia odpowiedniego artefaktu (np. release repo dla wersji migawkowej, repo proxy lub grupy zamiast hostowanego repozytorium)

Sprawdź je i jeśli nadal napotkasz problemy podaj więcej szczegółów tutaj.

 160
Author: Manfred Moser,
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
2018-05-02 06:29:07

Aby utworzyć osobną odpowiedź. Odpowiedź znajduje się w komentarzu do zaakceptowanej odpowiedzi.

Spróbuj zmienić wersję artefaktu na -SNAPSHOT.

 34
Author: bhagyas,
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
2014-05-05 11:24:33

400 złe żądanie zostanie zwrócone, jeśli spróbujesz:

  1. wdrożyć migawkę artefakt (lub wersję) zakończoną - migawka do release repozytorium
  2. wdrożyć release artifact (version not ending in -SNAPSHOT) do snapshot repozytorium
  3. wdrożyć tę samą wersję release artifact więcej niż raz do release repozytorium
 19
Author: roj,
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
2019-06-19 23:16:58

Przyczyną problemu było dla mnie-źródło.jars został przesłany dwa razy (z maven-source-plugin) jako jeden z powodów w zaakceptowanej odpowiedzi. Przekierowanie do odpowiedzi, o której wspomniałem: Maven release plugin fails : Source artefacts getting implemented twice

 12
Author: ankitkpd,
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
2018-06-27 16:16:25

Miałem dzisiaj dokładnie taki problem i problem polegał na tym, że wersja, którą próbowałem wypuścić: perform była już w Nexusie repo.

W moim przypadku było to prawdopodobnie spowodowane rozłączeniem sieci podczas wcześniejszego wywołania release: perform. Mimo że straciłem połączenie, wydaje się, że wydanie się powiodło.

 7
Author: eidolon1138,
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
2014-12-09 16:34:43

W rzadkich przypadkach, gdy musisz przenieść ten sam stabilny artefakt do Nexusa, domyślnie się nie powiedzie. Jeśli następnie usuniesz artefakt z Nexusa (poprzez interfejs WWW) w celu ponownego wdrożenia, wdrożenie nadal nie powiedzie się, ponieważ samo usunięcie np. jar lub pom nie wyczyści innych plików nadal znajdujących się w katalogu. Musisz się zalogować i usunąć katalog w całości.

 7
Author: bosvos,
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
2015-10-01 08:06:00

Miałem ten sam problem dzisiaj z dodatkiem " kod powrotu to: 400, ReasonPhrase: Bad Request."który okazał się być" artefakt jest już wdrożony z tą wersją jeśli jest to release " problem z odpowiedzi powyżej wpisz opis linku tutaj

Jednym z rozwiązań, o którym jeszcze nie wspomniano, jest skonfigurowanie Nexusa tak, aby umożliwiał przeniesienie do repozytorium Release. Może nie jest to najlepsza praktyka, ponieważ jest to ustawione z jakiegoś powodu, niemniej jednak można przejść do "Ustawienia dostępu" w swoim Nexusie repozytoria "Configuration" - Zakładka i ustaw " deploy Policy "na"Allow Reeploy".

 3
Author: jonashackt,
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
2017-05-23 11:54:59
  • w aplikacji nadrzędnej pom = = > Version umieść znacznik w następujący sposób: X.x. X-SNAPSHOT

Przykład: 0.0.1-SNAPSHOT

  • "- migawka " : jest bardzo ważna
 3
Author: Fadid,
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
2016-08-10 08:50:13

Upewnij się, że nie istnieje (artifact i version) w Nexusie (jako release). W takim przypadku zwróć złą prośbę.

 2
Author: danipenaperez,
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
2015-03-25 11:44:36

Dla błędu 400, sprawdź repozytorium "deploy policy" Zwykle jego "Disable reeploy". Przez większość czasu Twoja wersja biblioteki już tam jest, dlatego otrzymałeś wiadomość "Could not PUT put' https://yoururl/some.jar ". Otrzymany kod statusu 400 z serwera: repozytorium nie pozwala na aktualizację zasobów: "nazwa Twojego repozytorium"

Więc masz kilka opcji, aby to rozwiązać. 1-Zezwalaj na przesunięcie 2-Usuń wersję z repozytorium, którą próbujesz przesłać 3- Zmień numer wersji

 2
Author: Furqan,
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
2019-05-10 05:16:13

Jeśli którakolwiek z powyższych odpowiedzi się sprawdziła, możesz utworzyć nowy artefakt bezpośrednio ze strony administratora (zrzut ekranu Nexusa załączony poniżej).

  1. Login to nexus UI http://YOUR_URL:8081/nexus( username: admin domyślne hasło: admin123 )
  2. Click repositories po lewej stronie kliknij repo, na przykład: kliknij release.
  3. Wybierz artifact Upload (ostatnia zakładka).
  4. Wybierz GAV definition jako GAV Param - następnie wprowadź identyfikator groupid, artifact id i wersję .
  5. Wybierz Plik Jar.
  6. kliknij Prześlij artefakt. To wszystko !

Teraz będziesz mógł dodać corrsponding do swojego projektu.(zrzut ekranu poniżej)

Tutaj wpisz opis obrazka

 1
Author: vipin cp,
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
2018-02-25 07:26:34

Może się to zdarzyć również, jeśli masz politykę nazewnictwa wokół wersji, zabraniającą wersji#, którą próbujesz wdrożyć. W moim przypadku próbowałem przesłać wersję (release repo) 2.0.1, ale później okazało się, że nasza konfiguracja Nexusa nie pozwala na nic innego niż liczbę całkowitą dla wydań.

Próbowałem później z wersją 2 i wdrożyłem ją pomyślnie.

Komunikat o błędzie zdecydowanie nie pomaga:

Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases-xxx. -> [Help 1]

Lepsza wiadomość mogła być version 2.0.1 violates naming policy

 1
Author: old-monk,
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
2019-03-19 21:02:47

Identyfikator serwera powinien pasować do identyfikatora repozytorium ustawień Mavena.xml

 0
Author: Ravi Petchimuthu,
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
2020-02-12 20:11:47