Maven: ошибка при открытии застежки -молнии при запуске maven

[ERROR] error: error reading C:\Users\suresh\.m2\repository\org\jdom\jdom\1.1\jdom-1.1.jar; error in opening zip file
[ERROR] error: error reading C:\Users\suresh\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar; error in opening zip file
[ERROR] error: error reading C:\Users\suresh\.m2\repository\org\apache\cxf\cxf-rt-bindings-http\2.2.1\cxf-rt-bindings-http-2.2.1.jar; error in opening zip file
[ERROR] error: error reading C:\Users\suresh\.m2\repository\org\codehaus\jra\jra\1.0-alpha-4\jra-1.0-alpha-4.jar; error in opening zip file
[ERROR] error: error reading C:\Users\suresh\.m2\repository\org\apache\cxf\cxf-api\2.2.1\cxf-api-2.2.1.jar; error in opening zip file
[ERROR] error: error reading C:\Users\suresh\.m2\repository\org\apache\cxf\cxf-common-utilities\2.2.1\cxf-common-utilities-2.2.1.jar; error in opening zip file
[INFO] 44 errors

Как устранить эту ошибку при выполнении mvn clean install ?

И я вижу, что начиная с servlet-api пакеты не создаются внутри локального репозитория на моем диске.

-121--636379-

C++: Что такое ссылки R-Value на техническом уровне (ASM)? [duplicate] Возможное дублирование: В чем разница между ссылками на r-значение и ссылками на l-значение? (CodeGen) Мне было интересно, может ли кто-нибудь объяснить, какие ссылки на R-Value находятся на техническом уровне? Около...

Возможно дублирование:
Какова разница между ссылками на r-значение и ссылками на l-значение? (CodeGen)

Мне было интересно, может ли кто-нибудь объяснить, какие ссылки на R-Value находятся на техническом уровне? Под этим я имею в виду: Что происходит на уровне ассемблера, когда создаются ссылки R-Value.

Для небольшого теста, чтобы увидеть, что происходит внутри, я написал следующий код:

char c = 255;
char &c2 = c;
char &c3 = std::move(c);

Я знаю, что нет смысла создавать R-значение ссылки на 'c', но просто ради тестирования я сделал это в любом случае, чтобы увидеть, что он делает. И вот результат:

unsigned char c = 255;
    mov         byte ptr [c],0FFh
unsigned char &c2 = c;
    lea         eax,[c]  
    mov         dword ptr [c2],eax 
unsigned char &&c3 = std::move(c);
    lea         eax,[c]  
    push        eax  
    call        std::move (0ED1235h)  
    add         esp,4  
    mov         dword ptr [c3],eax

Я, безусловно, не эксперт по асму, но мне кажется, что в данном случае 'c3' является регулярной ссылкой на 'c' в конце концов.

Если привязать ссылку R-Value непосредственно к временной (char & & c3 = 255), последний бит ассемблера изменяется как таковой:

unsigned char &&c3 = 255;
    mov         byte ptr [ebp-29h],0FFh  
    lea         eax,[ebp-29h]  
    mov         dword ptr [c3],eax

Из вида этого изменения, я предполагаю, что c3 по-прежнему фактически является ссылкой на некоторую ячейку памяти, которая содержит значение 255. Так что это обычная ссылка - значение не копируется/не присваивается c3. Правда ли это?

Кто-нибудь может сказать, верны ли мои предположения или я полностью сошел с трека? До сих пор я всегда думал о R-Value ссылках, чтобы соответствовать сигнатуре функций/методов (возможно, move-ctor), когда речь идет о разрешении вызова, так что кодер знает, как обрабатывать данные, которые предоставляются (для move-ctor, который будет перемещать данные вместо копирования).

Чтобы отстоять эту довольно глупую попытку, которую я только что представил: я не намерен оборачиваться своим кодом на уровне асм, я просто хочу понять, какие технические различия ввели R-Value ссылки по сравнению с остальными, которые были вокруг все эти годы.

Любые идеи и объяснения приветствуются!

Спасибо!

7
задан Community 23 May 2017 в 12:22
поделиться