You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@archiva.apache.org by Nicolas De Loof <ni...@capgemini.com> on 2006/08/25 10:27:06 UTC

maven1 doesn't download artifacts from Archiva...

I've setup my archiva as a maven proxy and can get artifacts as expected 
using legacy path when using a browser.

I've set maven.repo.remote = 
http://localhost:8080/maven-repository-webapp/proxy/vasn/
Now, when I run maven (1.1-beta-3) to build my project, artifacts are 
downloaded in my managed repo as expected, but maven1 doesn't put them 
into my local repo :
I get output in maven console :
"
Tentative de téléchargement des dépandances manquantes/snapshot requis 
par hamlet:
Tentative de téléchargement de log4j-1.2.13.jar.
Téléchargement passé car la copie locale est à jour!
Tentative de téléchargement de commons-modeler-1.1.jar.
Téléchargement passé car la copie locale est à jour!
...
"

Just to help, here is the HTTP headers I get when using a browser :

"
GET /maven-repository-webapp/proxy/vasn//log4j/jars/log4j-1.2.13.jar 
HTTP/1.1
Host: localhost:8580
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) 
Gecko/20060728 Firefox/1.5.0.6
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: JSESSIONID=7CB00D6F750F3BB6B228688AD48BC923; 
jforumUserHash=null; jforumAutoLogin=null; jforumUserId=2

HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
content-disposition: filename="log4j-1.2.13.jar"
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Date: Fri, 25 Aug 2006 08:22:44 GMT
"

Any idea ?

Nico.





This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient,  you are not authorized to read, print, retain, copy, disseminate,  distribute, or use this message or any part thereof. If you receive this  message in error, please notify the sender immediately and delete all  copies of this message.


Re: maven1 doesn't download artifacts from Archiva...

Posted by Brett Porter <br...@apache.org>.
I fixed the wagon bug yesterday (so this only affects the maven 1.1  
betas, and should be ok in the final release).

We'll need to investigate this. It's probably wise to make the proxy  
action HTTP aware and grab the response to modify. I think another  
alternative is to add the last modified header to xwork.xml and have  
it use an expression (which should work with the code you have here).



On 25/08/2006, at 8:28 PM, Nicolas De Loof wrote:

>
> I don't find support for Last-Modified header in webwork  
> StreamResult. I never used webwork before, so I don't knwo where to  
> search...
>
> I'd like to add this to ProxyAction :
>
> private Date lastModified;
>
> public String execute()
>        throws ProxyException
>    {
>       ...
>        lastModified = new Date(file.lastModified());
>       ...
>    }
>
> It seems the default Date.toString() is acceptable for Last- 
> Modified header.
>
> Nico.
>
> Nicolas De Loof a écrit :
>>
>> I was wrong in this diagnostic.
>>
>> Sounds like a Wagon bug : When artifact doesn't exists, maven ask  
>> for last-modified = 0
>> Archiva response has no last-modified header, so wagon uses  
>> lastModified=0
>>
>> The response content is extracted from HTTP response only if  
>> (timestamp < lastModified).
>>
>> -> This is a Wagon HTTP provider bug. It should consider long  
>> lastModified = Long.MAX_VALUE; as default
>>
>> -> To be compatible with existing maven, Archiva should send a  
>> Last-Modified header. No idea what value to send. Idealy, the last- 
>> modified date of the artifact in the proxied repo would be the best.
>>
>>
>> Nicolas De Loof a écrit :
>>>
>>> Maven1 is sending an "If-Modified-Since" header. Sounds like  
>>> Archiva doesn't send the file. As it just downloaded it, I supose  
>>> file in managed repo has lastchanged date to "now". So this  
>>> sounds like an Archiva bug.
>>>
>>> Nicolas De Loof a écrit :
>>>>
>>>> I've setup my archiva as a maven proxy and can get artifacts as  
>>>> expected using legacy path when using a browser.
>>>>
>>>> I've set maven.repo.remote = http://localhost:8080/maven- 
>>>> repository-webapp/proxy/vasn/
>>>> Now, when I run maven (1.1-beta-3) to build my project,  
>>>> artifacts are downloaded in my managed repo as expected, but  
>>>> maven1 doesn't put them into my local repo :
>>>> I get output in maven console :
>>>> "
>>>> Tentative de téléchargement des dépandances manquantes/snapshot  
>>>> requis par hamlet:
>>>> Tentative de téléchargement de log4j-1.2.13.jar.
>>>> Téléchargement passé car la copie locale est à jour!
>>>> Tentative de téléchargement de commons-modeler-1.1.jar.
>>>> Téléchargement passé car la copie locale est à jour!
>>>> ...
>>>> "
>>>>
>>>> Just to help, here is the HTTP headers I get when using a browser :
>>>>
>>>> "
>>>> GET /maven-repository-webapp/proxy/vasn//log4j/jars/ 
>>>> log4j-1.2.13.jar HTTP/1.1
>>>> Host: localhost:8580
>>>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv: 
>>>> 1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
>>>> Accept: text/xml,application/xml,application/xhtml+xml,text/ 
>>>> html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
>>>> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
>>>> Accept-Encoding: gzip,deflate
>>>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>>>> Keep-Alive: 300
>>>> Connection: keep-alive
>>>> Cookie: JSESSIONID=7CB00D6F750F3BB6B228688AD48BC923;  
>>>> jforumUserHash=null; jforumAutoLogin=null; jforumUserId=2
>>>>
>>>> HTTP/1.x 200 OK
>>>> Server: Apache-Coyote/1.1
>>>> content-disposition: filename="log4j-1.2.13.jar"
>>>> Content-Type: application/octet-stream
>>>> Transfer-Encoding: chunked
>>>> Date: Fri, 25 Aug 2006 08:22:44 GMT
>>>> "
>>>>
>>>> Any idea ?
>>>>
>>>> Nico.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> This message contains information that may be privileged or  
>>>> confidential and is the property of the Capgemini Group. It is  
>>>> intended only for the person to whom it is addressed. If you are  
>>>> not the intended recipient,  you are not authorized to read,  
>>>> print, retain, copy, disseminate,  distribute, or use this  
>>>> message or any part thereof. If you receive this  message in  
>>>> error, please notify the sender immediately and delete all   
>>>> copies of this message.
>>>>
>>>
>>> This message contains information that may be privileged or  
>>> confidential and is the property of the Capgemini Group. It is  
>>> intended only for the person to whom it is addressed. If you are  
>>> not the intended recipient,  you are not authorized to read,  
>>> print, retain, copy, disseminate,  distribute, or use this  
>>> message or any part thereof. If you receive this  message in  
>>> error, please notify the sender immediately and delete all   
>>> copies of this message.
>>>
>>
>> This message contains information that may be privileged or  
>> confidential and is the property of the Capgemini Group. It is  
>> intended only for the person to whom it is addressed. If you are  
>> not the intended recipient,  you are not authorized to read,  
>> print, retain, copy, disseminate,  distribute, or use this message  
>> or any part thereof. If you receive this  message in error, please  
>> notify the sender immediately and delete all  copies of this message.
>>
>
> This message contains information that may be privileged or  
> confidential and is the property of the Capgemini Group. It is  
> intended only for the person to whom it is addressed. If you are  
> not the intended recipient,  you are not authorized to read, print,  
> retain, copy, disseminate,  distribute, or use this message or any  
> part thereof. If you receive this  message in error, please notify  
> the sender immediately and delete all  copies of this message.

Re: maven1 doesn't download artifacts from Archiva...

Posted by Nicolas De Loof <ni...@capgemini.com>.
I don't find support for Last-Modified header in webwork StreamResult. I 
never used webwork before, so I don't knwo where to search...

I'd like to add this to ProxyAction :

private Date lastModified;

public String execute()
        throws ProxyException
    {
       ...
        lastModified = new Date(file.lastModified());
       ...
    }

It seems the default Date.toString() is acceptable for Last-Modified header.

Nico.

Nicolas De Loof a écrit :
>
> I was wrong in this diagnostic.
>
> Sounds like a Wagon bug : When artifact doesn't exists, maven ask for 
> last-modified = 0
> Archiva response has no last-modified header, so wagon uses 
> lastModified=0
>
> The response content is extracted from HTTP response only if 
> (timestamp < lastModified).
>
> -> This is a Wagon HTTP provider bug. It should consider long 
> lastModified = Long.MAX_VALUE; as default
>
> -> To be compatible with existing maven, Archiva should send a 
> Last-Modified header. No idea what value to send. Idealy, the 
> last-modified date of the artifact in the proxied repo would be the best.
>
>
> Nicolas De Loof a écrit :
>>
>> Maven1 is sending an "If-Modified-Since" header. Sounds like Archiva 
>> doesn't send the file. As it just downloaded it, I supose file in 
>> managed repo has lastchanged date to "now". So this sounds like an 
>> Archiva bug.
>>
>> Nicolas De Loof a écrit :
>>>
>>> I've setup my archiva as a maven proxy and can get artifacts as 
>>> expected using legacy path when using a browser.
>>>
>>> I've set maven.repo.remote = 
>>> http://localhost:8080/maven-repository-webapp/proxy/vasn/
>>> Now, when I run maven (1.1-beta-3) to build my project, artifacts 
>>> are downloaded in my managed repo as expected, but maven1 doesn't 
>>> put them into my local repo :
>>> I get output in maven console :
>>> "
>>> Tentative de téléchargement des dépandances manquantes/snapshot 
>>> requis par hamlet:
>>> Tentative de téléchargement de log4j-1.2.13.jar.
>>> Téléchargement passé car la copie locale est à jour!
>>> Tentative de téléchargement de commons-modeler-1.1.jar.
>>> Téléchargement passé car la copie locale est à jour!
>>> ...
>>> "
>>>
>>> Just to help, here is the HTTP headers I get when using a browser :
>>>
>>> "
>>> GET /maven-repository-webapp/proxy/vasn//log4j/jars/log4j-1.2.13.jar 
>>> HTTP/1.1
>>> Host: localhost:8580
>>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) 
>>> Gecko/20060728 Firefox/1.5.0.6
>>> Accept: 
>>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
>>>
>>> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
>>> Accept-Encoding: gzip,deflate
>>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>>> Keep-Alive: 300
>>> Connection: keep-alive
>>> Cookie: JSESSIONID=7CB00D6F750F3BB6B228688AD48BC923; 
>>> jforumUserHash=null; jforumAutoLogin=null; jforumUserId=2
>>>
>>> HTTP/1.x 200 OK
>>> Server: Apache-Coyote/1.1
>>> content-disposition: filename="log4j-1.2.13.jar"
>>> Content-Type: application/octet-stream
>>> Transfer-Encoding: chunked
>>> Date: Fri, 25 Aug 2006 08:22:44 GMT
>>> "
>>>
>>> Any idea ?
>>>
>>> Nico.
>>>
>>>
>>>
>>>
>>>
>>> This message contains information that may be privileged or 
>>> confidential and is the property of the Capgemini Group. It is 
>>> intended only for the person to whom it is addressed. If you are not 
>>> the intended recipient,  you are not authorized to read, print, 
>>> retain, copy, disseminate,  distribute, or use this message or any 
>>> part thereof. If you receive this  message in error, please notify 
>>> the sender immediately and delete all  copies of this message.
>>>
>>
>> This message contains information that may be privileged or 
>> confidential and is the property of the Capgemini Group. It is 
>> intended only for the person to whom it is addressed. If you are not 
>> the intended recipient,  you are not authorized to read, print, 
>> retain, copy, disseminate,  distribute, or use this message or any 
>> part thereof. If you receive this  message in error, please notify 
>> the sender immediately and delete all  copies of this message.
>>
>
> This message contains information that may be privileged or 
> confidential and is the property of the Capgemini Group. It is 
> intended only for the person to whom it is addressed. If you are not 
> the intended recipient,  you are not authorized to read, print, 
> retain, copy, disseminate,  distribute, or use this message or any 
> part thereof. If you receive this  message in error, please notify the 
> sender immediately and delete all  copies of this message.
>

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient,  you are not authorized to read, print, retain, copy, disseminate,  distribute, or use this message or any part thereof. If you receive this  message in error, please notify the sender immediately and delete all  copies of this message.


Re: maven1 doesn't download artifacts from Archiva...

Posted by Nicolas De Loof <ni...@capgemini.com>.
I was wrong in this diagnostic.

Sounds like a Wagon bug : When artifact doesn't exists, maven ask for 
last-modified = 0
Archiva response has no last-modified header, so wagon uses lastModified=0

The response content is extracted from HTTP response only if (timestamp 
< lastModified).

-> This is a Wagon HTTP provider bug. It should consider long 
lastModified = Long.MAX_VALUE; as default

-> To be compatible with existing maven, Archiva should send a 
Last-Modified header. No idea what value to send. Idealy, the 
last-modified date of the artifact in the proxied repo would be the best.


Nicolas De Loof a écrit :
>
> Maven1 is sending an "If-Modified-Since" header. Sounds like Archiva 
> doesn't send the file. As it just downloaded it, I supose file in 
> managed repo has lastchanged date to "now". So this sounds like an 
> Archiva bug.
>
> Nicolas De Loof a écrit :
>>
>> I've setup my archiva as a maven proxy and can get artifacts as 
>> expected using legacy path when using a browser.
>>
>> I've set maven.repo.remote = 
>> http://localhost:8080/maven-repository-webapp/proxy/vasn/
>> Now, when I run maven (1.1-beta-3) to build my project, artifacts are 
>> downloaded in my managed repo as expected, but maven1 doesn't put 
>> them into my local repo :
>> I get output in maven console :
>> "
>> Tentative de téléchargement des dépandances manquantes/snapshot 
>> requis par hamlet:
>> Tentative de téléchargement de log4j-1.2.13.jar.
>> Téléchargement passé car la copie locale est à jour!
>> Tentative de téléchargement de commons-modeler-1.1.jar.
>> Téléchargement passé car la copie locale est à jour!
>> ...
>> "
>>
>> Just to help, here is the HTTP headers I get when using a browser :
>>
>> "
>> GET /maven-repository-webapp/proxy/vasn//log4j/jars/log4j-1.2.13.jar 
>> HTTP/1.1
>> Host: localhost:8580
>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) 
>> Gecko/20060728 Firefox/1.5.0.6
>> Accept: 
>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
>>
>> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
>> Accept-Encoding: gzip,deflate
>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive: 300
>> Connection: keep-alive
>> Cookie: JSESSIONID=7CB00D6F750F3BB6B228688AD48BC923; 
>> jforumUserHash=null; jforumAutoLogin=null; jforumUserId=2
>>
>> HTTP/1.x 200 OK
>> Server: Apache-Coyote/1.1
>> content-disposition: filename="log4j-1.2.13.jar"
>> Content-Type: application/octet-stream
>> Transfer-Encoding: chunked
>> Date: Fri, 25 Aug 2006 08:22:44 GMT
>> "
>>
>> Any idea ?
>>
>> Nico.
>>
>>
>>
>>
>>
>> This message contains information that may be privileged or 
>> confidential and is the property of the Capgemini Group. It is 
>> intended only for the person to whom it is addressed. If you are not 
>> the intended recipient,  you are not authorized to read, print, 
>> retain, copy, disseminate,  distribute, or use this message or any 
>> part thereof. If you receive this  message in error, please notify 
>> the sender immediately and delete all  copies of this message.
>>
>
> This message contains information that may be privileged or 
> confidential and is the property of the Capgemini Group. It is 
> intended only for the person to whom it is addressed. If you are not 
> the intended recipient,  you are not authorized to read, print, 
> retain, copy, disseminate,  distribute, or use this message or any 
> part thereof. If you receive this  message in error, please notify the 
> sender immediately and delete all  copies of this message.
>

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient,  you are not authorized to read, print, retain, copy, disseminate,  distribute, or use this message or any part thereof. If you receive this  message in error, please notify the sender immediately and delete all  copies of this message.


Re: maven1 doesn't download artifacts from Archiva...

Posted by Nicolas De Loof <ni...@capgemini.com>.
Maven1 is sending an "If-Modified-Since" header. Sounds like Archiva 
doesn't send the file. As it just downloaded it, I supose file in 
managed repo has lastchanged date to "now". So this sounds like an 
Archiva bug.

Nicolas De Loof a écrit :
>
> I've setup my archiva as a maven proxy and can get artifacts as 
> expected using legacy path when using a browser.
>
> I've set maven.repo.remote = 
> http://localhost:8080/maven-repository-webapp/proxy/vasn/
> Now, when I run maven (1.1-beta-3) to build my project, artifacts are 
> downloaded in my managed repo as expected, but maven1 doesn't put them 
> into my local repo :
> I get output in maven console :
> "
> Tentative de téléchargement des dépandances manquantes/snapshot requis 
> par hamlet:
> Tentative de téléchargement de log4j-1.2.13.jar.
> Téléchargement passé car la copie locale est à jour!
> Tentative de téléchargement de commons-modeler-1.1.jar.
> Téléchargement passé car la copie locale est à jour!
> ...
> "
>
> Just to help, here is the HTTP headers I get when using a browser :
>
> "
> GET /maven-repository-webapp/proxy/vasn//log4j/jars/log4j-1.2.13.jar 
> HTTP/1.1
> Host: localhost:8580
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) 
> Gecko/20060728 Firefox/1.5.0.6
> Accept: 
> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
>
> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Keep-Alive: 300
> Connection: keep-alive
> Cookie: JSESSIONID=7CB00D6F750F3BB6B228688AD48BC923; 
> jforumUserHash=null; jforumAutoLogin=null; jforumUserId=2
>
> HTTP/1.x 200 OK
> Server: Apache-Coyote/1.1
> content-disposition: filename="log4j-1.2.13.jar"
> Content-Type: application/octet-stream
> Transfer-Encoding: chunked
> Date: Fri, 25 Aug 2006 08:22:44 GMT
> "
>
> Any idea ?
>
> Nico.
>
>
>
>
>
> This message contains information that may be privileged or 
> confidential and is the property of the Capgemini Group. It is 
> intended only for the person to whom it is addressed. If you are not 
> the intended recipient,  you are not authorized to read, print, 
> retain, copy, disseminate,  distribute, or use this message or any 
> part thereof. If you receive this  message in error, please notify the 
> sender immediately and delete all  copies of this message.
>

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient,  you are not authorized to read, print, retain, copy, disseminate,  distribute, or use this message or any part thereof. If you receive this  message in error, please notify the sender immediately and delete all  copies of this message.