[b][size=x-large]Maven的版本约定[/size][/b]
[b][b].[/b][b].[/b][b]-[/b][/b]
主版本、次版本及增量版本之间采用“.”分隔,里程碑版本之前通过“-”分隔。示例:
[list]
[*] 1.1.1-beta-1
[*] 2.0-alpha-20
[*] 3.1-SNAPSHOT
[/list]
主版本:表示项目重大架构的变更,例如Maven 2和Maven 1相去甚远,Spring 2.0和Spring 3.0发生了很大的变化;
次版本:表示较大范围的功能增加和变化,如Spring 2.5比Spring 2.0添加了注解注入的功能;
增量版本:一般表示重大Bug的修复,例如项目发布了1.5版本后,发现了一个重大的Bug,则快速发布一个1.5.1的版本,修复这个Bug
里程碑版本:往往指发布一个版本的里程碑。例如,Spring已经发布了很多里程碑版本,如Spring 3.0-rc-1 Spring 3.0.1-beta-1
一般来说,主版本和次版本都是有的,但是增量版本和里程碑版本是可选的,如1.0或2.1版本就只有主,次版本。
[b][size=x-large]特殊的Maven版本号[/size][/b]
SNAPSHOT是一个特殊的里程碑版本,它对应当前最新的发布状态,因此是一个指向的引用,不是一个固定的发布包。Maven服务器会为SNAPSHOT的快照版本生成对应一时间戳版本。
如rop1.0-SNAPSHOT,在2012-05-28 17:03:01 发布后,在nexus中对应的发布包为:
rop1.0-20120528170301-1.jar,最后的那个-1表示这个快照的第几次更新。
所以SNAPSHOT的里程碑版本对应一个开发过程,其发布包构件不是固定的,而其它的版本发布包的发布构件则是固定的。
因此SPANSHOT版本对应一个时间段,而其它发布版本对应一个时刻点。
[b][b].[/b][b].[/b][b]-[/b][/b]
主版本、次版本及增量版本之间采用“.”分隔,里程碑版本之前通过“-”分隔。示例:
[list]
[*] 1.1.1-beta-1
[*] 2.0-alpha-20
[*] 3.1-SNAPSHOT
[/list]
主版本:表示项目重大架构的变更,例如Maven 2和Maven 1相去甚远,Spring 2.0和Spring 3.0发生了很大的变化;
次版本:表示较大范围的功能增加和变化,如Spring 2.5比Spring 2.0添加了注解注入的功能;
增量版本:一般表示重大Bug的修复,例如项目发布了1.5版本后,发现了一个重大的Bug,则快速发布一个1.5.1的版本,修复这个Bug
里程碑版本:往往指发布一个版本的里程碑。例如,Spring已经发布了很多里程碑版本,如Spring 3.0-rc-1 Spring 3.0.1-beta-1
一般来说,主版本和次版本都是有的,但是增量版本和里程碑版本是可选的,如1.0或2.1版本就只有主,次版本。
[b][size=x-large]特殊的Maven版本号[/size][/b]
SNAPSHOT是一个特殊的里程碑版本,它对应当前最新的发布状态,因此是一个指向的引用,不是一个固定的发布包。Maven服务器会为SNAPSHOT的快照版本生成对应一时间戳版本。
如rop1.0-SNAPSHOT,在2012-05-28 17:03:01 发布后,在nexus中对应的发布包为:
rop1.0-20120528170301-1.jar,最后的那个-1表示这个快照的第几次更新。
所以SNAPSHOT的里程碑版本对应一个开发过程,其发布包构件不是固定的,而其它的版本发布包的发布构件则是固定的。
因此SPANSHOT版本对应一个时间段,而其它发布版本对应一个时刻点。