You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Jörn Gebhardt <Jo...@ptv.de> on 2004/03/10 09:26:23 UTC

AW: AW: multiproject:artifact, SNAPSHOT dependencies and the repo sito ry

Thanks Ben for the help.

I played around with different Servers yesterday and found out that the
Resin is not suitable to serve as Maven remote repository server. So I
replaced it by Tomcat and everything works fine as expected.

Joern

> -----Ursprüngliche Nachricht-----
> Von: Ben Walding [mailto:ben@walding.com]
> Gesendet: Dienstag, 9. März 2004 23:44
> An: Maven Users List
> Betreff: Re: AW: multiproject:artifact, SNAPSHOT dependencies and the
> reposito ry
> 
> 
> According to the spec for HTTP1.1, a server is free to only 
> accept exact 
> matches for If-Modified-Since, i.e. If-Modified-Since must 
> exactly match 
> Last-Modified for a 304 to occur
> 
> This could be the issue since you are using Resin and it's 
> last modified 
> behaviour appears to be different to Apache.  I'd check into Resin's 
> documented behaviour.  I was only testing against ibiblio and 
> whatever 
> server that uses
> 
> Also, you should probably remove the trailing slash on your 
> remote repo 
> spec.
> 
> I.e.
> 
> maven.repo.remote=http://yourserver:8080/maven (typically good)
> vs.
> maven.repo.remote=http://yourserver:8080/maven/  (typically bad)
> 
> Cheers,
> 
> Ben
> Jörn Gebhardt wrote:
> 
> >Hi,
> >
> >I used TCPMon to find out what requests and responses are 
> sent. The headers
> >looked like this:
> >
> >Request:
> >-------------------------------------------------------------
> ---------------
> >GET 
> /maven//jabba-cartridge/jars/jabba-cartridge-1.1-SNAPSHOT.jar 
> HTTP/1.1 
> >User-Agent: Java/1.4.1_02 
> >Host: wka-wn-f2t13b 
> >Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 
> >Connection: keep-alive 
> >If-Modified-Since: Tue, 09 Mar 2004 17:11:15 GMT
> >-------------------------------------------------------------
> ---------------
> >---
> >
> >Response:
> >-------------------------------------------------------------
> ---------------
> >---
> >HTTP/1.1 200 OK 
> >Server: Resin/2.1.8 
> >ETag: "AAAAPsbKS+R" 
> >Last-Modified: Fri, 05 Mar 2004 13:14:35 GMT 
> >Expires: Tue, 09 Mar 2004 19:02:13 
> >GMT Content-Length: 145796 
> >Date: Tue, 09 Mar 2004 19:02:08 GMT
> >
> >  --> File content
> >-------------------------------------------------------------
> ---------------
> >-------------
> >
> >
> >However, if I have the same version of a jar on my local 
> machine and on the
> >HTTP Server, I get the following Request/Response:
> >
> >Request:
> >-------------------------------------------------------------
> ---------------
> >GET 
> /maven//jabba-modules/jars/jabbabase-server-iutest-1.1-SNAPSHOT.jar
> >HTTP/1.1 
> >User-Agent: Java/1.4.1_02 
> >Host: wka-wn-f2t13b 
> >Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 
> >Connection: keep-alive 
> >If-Modified-Since: Fri, 05 Mar 2004 15:39:56 GMT
> >-------------------------------------------------------------
> ---------------
> >---
> >
> >Response:
> >-------------------------------------------------------------
> ---------------
> >---
> >HTTP/1.1 304 Not Modified 
> >Server: Resin/2.1.8 
> >Date: Tue, 09 Mar 2004 19:13:51 GMT
> >-------------------------------------------------------------
> ---------------
> >---
> >
> >Any ideas, what could be the problem here?
> >
> >Joern
> >
> >
> >  
> >
> >>-----Ursprüngliche Nachricht-----
> >>Von: Jörn Gebhardt [mailto:Joern.Gebhardt@ptv.de]
> >>Gesendet: Dienstag, 9. März 2004 19:11
> >>An: Maven Users List
> >>Betreff: AW: multiproject:artifact, SNAPSHOT dependencies and the
> >>reposito ry
> >>
> >>
> >>Hi Ben,
> >>
> >>I checked this out but didn't succeed. The clocks of my local 
> >>machine and
> >>our server (Reisin 2.1.8) are more or less identical (the 
> >>Reisin is about
> >>little bit ahead). On the Reisin there is a file 
> >>xyz-SNAPSHOT-1.0.jar from
> >>5th of March (i.e. 4 days old). Locally, I have a file that 
> >>is one day old,
> >>but it gets overriden by the older one on our Web server.
> >>I treid all kind of time combinations, but in all cases the 
> >>local file got
> >>overriden.
> >>
> >>Unfortunately, I don't have any idea, what I can do to solve 
> >>this problem.
> >>I'm using RC1, maybe something changed thereafter?
> >>
> >>Joern
> >>
> >>
> >>    
> >>
> >>>-----Ursprüngliche Nachricht-----
> >>>Von: Ben Walding [mailto:ben@walding.com]
> >>>Gesendet: Freitag, 5. März 2004 02:40
> >>>An: Maven Users List
> >>>Betreff: Re: multiproject:artifact, SNAPSHOT dependencies and the
> >>>reposito ry
> >>>
> >>>
> >>>I may have tracked this one down - it's all time related.
> >>>
> >>>When downloading snapshots, we use the If-Modified-Since 
> >>>      
> >>>
> >>header.  The 
> >>    
> >>
> >>>rules for this header state (from the http1.1 spec)
> >>>
> >>>14.25 If-Modified-Since
> >>>...
> >>>a) If the request would normally result in anything other than a
> >>>200 (OK) status, or if the passed If-Modified-Since date is
> >>>invalid, the response is exactly the same as for a normal GET.
> >>>A date which is later than the server's current time is
> >>>invalid.
> >>>
> >>>Note the last line : "A date which is later than the 
> >>>      
> >>>
> >>server's current 
> >>    
> >>
> >>>time is invalid."
> >>>
> >>>Now if you just built a snapshot in one project, then move 
> >>>onto another 
> >>>that uses it, there is a chance
> >>>that your If-Modified-Since header is ahead of ibiblio / your 
> >>>upstream 
> >>>server.
> >>>
> >>>Thus, the full SNAPSHOT is downloaded over the top of the 
> >>>existing one - 
> >>>even though the
> >>>upstream server is in fact serving up an older copy of the 
> snapshot.
> >>>
> >>>I've tested this on hogshead vs. ibiblio and it is what is 
> >>>causing the 
> >>>problem - hogshead time was
> >>>30 minutes faster than ibiblio, so my fresh snapshots were getting 
> >>>overwritten by ibiblio's old one.
> >>>(hogshead was sending a header that was in the future to 
> >>>ibiblio - and 
> >>>thus ignored).
> >>>
> >>>Cheers,
> >>>
> >>>Ben
> >>>
> >>>
> >>>
> >>>
> >>>Maczka Michal wrote:
> >>>
> >>>      
> >>>
> >>>>Ben: I think that such problem exists and it is certainly 
> >>>>        
> >>>>
> >>>not limited to
> >>>      
> >>>
> >>>>ibiblio only.
> >>>>I have the same exact bug when I am working with intranet 
> >>>>        
> >>>>
> >>>web server.
> >>>      
> >>>
> >>>>I don't know if this is problem of maven it self, web 
> >>>>        
> >>>>
> >>>server caching, 
> >>>      
> >>>
> >>>>proxy
> >>>>server caching etc.
> >>>>
> >>>>I am too busy to look into it at the moment :(
> >>>>I was forced (lack of time to fix it) to stop working with 
> >>>>        
> >>>>
> >>>SNAPSHOTs.
> >>>      
> >>>
> >>>>Michal
> >>>>
> >>>>        
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: Ben Walding [mailto:ben@walding.com]
> >>>>>Sent: Tuesday, March 02, 2004 4:11 PM
> >>>>>To: Maven Users List
> >>>>>Subject: Re: multiproject:artifact, SNAPSHOT dependencies and the
> >>>>>reposito ry
> >>>>>
> >>>>>
> >>>>>Nope, Maven does check the date - it uses the http 
> >>>>>          
> >>>>>
> >>protocol to only
> >>    
> >>
> >>>>>download as required. However I think there might be some
> >>>>>issues in it
> >>>>>- possibly even in the ibiblio web server / dates on the
> >>>>>server (see my
> >>>>>earlier email today)
> >>>>>
> >>>>>I'll take a further look when I code up the snapshot
> >>>>>downloader for the
> >>>>>maven-proxy.
> >>>>>
> >>>>>Kalaveshi, Adrian wrote:
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>I also don't believe that Maven checks to see which SNAPSHOT
> >>>>>>            
> >>>>>>
> >>>>>is newer.
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>Maven seems to always download it -- even if they are
> >>>>>>            
> >>>>>>
> >>>>>identical. Anyone
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>have a definitive answer for this? I'm using 1.0-rc1.
> >>>>>>
> >>>>>>Using the "-o" option isn't sufficient enough. I'd like to avoid
> >>>>>>downloading SNAPSHOT jars of my internal projects (or, I
> >>>>>>            
> >>>>>>
> >>>>>should say, I'd
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>like to avoid overwriting the newer SNAPSHOT jar that exists
> >>>>>>            
> >>>>>>
> >>>>>in my local
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>repository) but, at the same time, I need to have access to
> >>>>>>            
> >>>>>>
> >>>>>everything else
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>in the repository.
> >>>>>>
> >>>>>>-adrian-
> >>>>>>
> >>>>>>-----Original Message-----
> >>>>>>From: Jörn Gebhardt [mailto:Joern.Gebhardt@ptv.de]
> >>>>>>Sent: Tuesday, March 02, 2004 1:19 AM
> >>>>>>To: Maven Users List
> >>>>>>Subject: AW: multiproject:artifact, SNAPSHOT 
> >>>>>>            
> >>>>>>
> >>dependencies and the
> >>    
> >>
> >>>>>>reposito ry
> >>>>>>
> >>>>>>
> >>>>>>Hi,
> >>>>>>
> >>>>>>That's strange. We have exactly the same problem that Adrian
> >>>>>>            
> >>>>>>
> >>>>>described. I
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>believe that Maven doesn't check any dates when resolving 
> >>>>>>            
> >>>>>>
> >>>SHNAPSHOT
> >>>      
> >>>
> >>>>>>dependencies, but just downloads the SNAPSHOT jar from the
> >>>>>>            
> >>>>>>
> >>>>>remote repository
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>if it is there.
> >>>>>>
> >>>>>>I've posted a similar message some weeks ago and was advised
> >>>>>>            
> >>>>>>
> >>>>>to used the -o
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>(offline) option of Maven (e.g. maven -o jar) to suppress
> >>>>>>            
> >>>>>>
> >>>>>the download from
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>the remote server. Alternatively, you can set a property (I
> >>>>>>            
> >>>>>>
> >>>>>don't remember
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>the property name, but it's documented somewhere...) in 
> >>>>>>            
> >>>>>>
> >>your local
> >>    
> >>
> >>>>>>build.properties to switch to the offline mode.
> >>>>>>
> >>>>>>Jörn
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>            
> >>>>>>
> >>>>>>>-----Ursprüngliche Nachricht-----
> >>>>>>>Von: dion@multitask.com.au [mailto:dion@multitask.com.au]
> >>>>>>>Gesendet: Dienstag, 2. März 2004 04:20
> >>>>>>>An: Maven Users List
> >>>>>>>Betreff: Re: multiproject:artifact, SNAPSHOT 
> >>>>>>>              
> >>>>>>>
> >>dependencies and the
> >>    
> >>
> >>>>>>>repository
> >>>>>>>
> >>>>>>>
> >>>>>>>"Kalaveshi, Adrian" <ak...@rsasecurity.com> wrote on
> >>>>>>>              
> >>>>>>>
> >>>>>02/03/2004
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>>08:09:36 AM:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>Greetings --
> >>>>>>>>
> >>>>>>>>Is there a best practices document describing maven's 
> >>>>>>>>                
> >>>>>>>>
> >>role in a
> >>    
> >>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>multiproject
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>environment?
> >>>>>>>>
> >>>>>>>>One of the problems I'm currently trying to tackle is this:
> >>>>>>>>
> >>>>>>>>- internal components have dependencies to SNAPSHOT
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>versions of other
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>internal components.
> >>>>>>>>- after each project is compiled, it's SNAPSHOT artifact is
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>created and
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>'installed' to the local repository (for use by other 
> >>>>>>>>                
> >>>>>>>>
> >>projects)
> >>    
> >>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>We have exactly this.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>- when the next project is compiled, it's dependencies are
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>downloaded
> >>>>>>>from
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>the repository (overwriting the SNAPSHOT artifact that was
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>created in
> >>>>>>>the
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>>>>>>>previous line item)
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>                
> >>>>>>>>
> >>>>>>>This doesn't happen for us. We never get a download as our
> >>>>>>>local SNAPSHOT
> >>>>>>>is newer than the one in the remote repo.
> >>>>>>>
> >>>>>>>--
> >>>>>>>dIon Gillard, Multitask Consulting
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>>
> >>------------------------------------------------------------
> ---------
> >>    
> >>
> >>>>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>>>>For additional commands, e-mail: users-help@maven.apache.org
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>            
> >>>>>>
> >>>>>          
> >>>>>
> >>------------------------------------------------------------
> ---------
> >>    
> >>
> >>>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>>>For additional commands, e-mail: users-help@maven.apache.org
> >>>>>
> >>>>>          
> >>>>>
> >>>>        
> >>>>
> >>------------------------------------------------------------
> ---------
> >>    
> >>
> >>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>>For additional commands, e-mail: users-help@maven.apache.org
> >>>>
> >>>>
> >>>>        
> >>>>
> >>>
> >>>      
> >>>
> >>------------------------------------------------------------
> ---------
> >>    
> >>
> >>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>For additional commands, e-mail: users-help@maven.apache.org
> >>>
> >>>      
> >>>
> >
> >  
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>