maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Connolly" <stephen.alan.conno...@gmail.com>
Subject Re: Jar not updating from remote repo
Date Tue, 16 Sep 2008 18:24:53 GMT
The *key* thing to understand is that once Maven downloads foo-1.0.jar and
has it in its local repository, it will *never* download it again.

This is why you should always keep the version as -SNAPSHOT and use the
release plugin (or roll your own scripts if you're crazy) to roll a release.

The result of using the release plugin is that developers will never
_normally_ build a non-SNAPSHOT version, and each build of a non-SNAPSHOT
will get deployed to your maven repo... and they should only be being built
once to ensure that there is only one release of the artifact for that
version number.

On Tue, Sep 16, 2008 at 7:21 PM, Stephen Connolly <
stephen.alan.connolly@gmail.com> wrote:

> The update ppolicy for a remote repo will control how often maven looks for
> updates versions being available also...
>
> but the thing is this is only is Maven thinks it could use a newer
> version...
>
> so if your dependency is like
>
> <version>1.0</version>
>
> then that's a "no fixed version, but I'd suggest to use 1.0" and as long as
> Maven has a 1.0 downloaded, there's no need to check.
>
> Similarly if you have
>
> <version>[1.0]</version>
>
> However, if you have
>
> <version>[1.0,2.0-!)</version>
>
> Then Maven _can_ use a newer one if available.  If no other project is
> forcing or strongly suggesting a specific version within the range, then
> Maven will use the update policy to decide how often to check for other
> versions that match the range(s) that apply for the version.
>
> At least that's my understanding (and results of some quick experiments)
>
> -Stephen
>
>
> On Tue, Sep 16, 2008 at 7:00 PM, Yaakov Chaikin <yaakov.chaikin@gmail.com>wrote:
>
>> Hmm... Is that REALLY true? The documentation for the 'updatePolicy'
>> certainly seems to disagree since it exists for both <snapshots> and
>> <releases>:
>> "updatePolicy: This element specifies how often updates should attempt
>> to occur. Maven will compare the local POM's timestamp (stored in a
>> repository's maven-metadata file) to the remote. The choices are:
>> always, daily (default), interval:X (where X is an integer in minutes)
>> or never."
>>
>> The documentation for mvn --help also says this for '-U':
>> -U,--update-snapshots         Forces a check for updated releases and
>> snapshots on remote repositories
>>
>> So, how do you explain these then? What do they do?
>>
>>
>> On Tue, Sep 16, 2008 at 1:53 PM, Wayne Fay <waynefay@gmail.com> wrote:
>> > Maven NEVER updates jars that have a non-snapshot version associated
>> with them.
>> >
>> > If you are "updating" jars then they MUST be called a.b.c-SNAPSHOT for
>> > Maven to notice the changes.
>> >
>> > Wayne
>> >
>> > On Tue, Sep 16, 2008 at 10:47 AM, Yaakov Chaikin
>> > <yaakov.chaikin@gmail.com> wrote:
>> >> Hi,
>> >>
>> >>  I am using Maven 2.0.8.
>> >>
>> >> I have a custom remote maven repo with some JARs imported there. I
>> >> recently updated one of the JARs there, but noticed that when I built
>> >> on the client, no update was pulled from the remote repo and my local
>> >> repo still has the old one. Only after I erased the actual JAR from
>> >> the local repo, did it pull the file from the remote repo.
>> >>
>> >> I checked and all the files in the directory under (version) 1.0 of
>> >> that JAR file have new timestamps, so it's definitely new.
>> >>
>> >> I then tried to force by doing this:
>> >> mvn -U clean install
>> >>
>> >> That didn't bring in the new JAR.
>> >>
>> >> I then tried to edit the update policy and explicitely says "always":
>> >> <repositories>
>> >>                <repository>
>> >>                        <id>central</id>
>> >>                        <name>FES Unclass Maven Repository</name>
>> >>                        <url>https://xxx</url>
>> >>                        <snapshots>
>> >>                                <updatePolicy>always</updatePolicy>
>> >>                                <enabled>true</enabled>
>> >>                        </snapshots>
>> >>                        <releases>
>> >>                                <enabled>true</enabled>
>> >>                                <updatePolicy>always</updatePolicy>
>> >>                        </releases>
>> >>                </repository>
>> >>        </repositories>
>> >>        <pluginRepositories>
>> >>                <pluginRepository>
>> >>                        <id>central</id>
>> >>                        <name>FES Unclass Maven Repository</name>
>> >>                        <url>https://xxx</url>
>> >>                </pluginRepository>
>> >>        </pluginRepositories>
>> >>
>> >> However, that didn't work either.
>> >>
>> >> Am I doing something wrong here?
>> >>
>> >> Thanks,
>> >> Yaakov.
>> >>
>> >> ---------------------------------------------------------------------
>> >> 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
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message