Maven 2 部署maven jar文件和快照依赖项

Maven 2 部署maven jar文件和快照依赖项,maven-2,continuous-integration,snapshot,Maven 2,Continuous Integration,Snapshot,我们目前在开发中使用快照修饰符,以便将项目依赖项链接到其依赖项的最新版本。因此,当我们构建一个项目时,我们会得到所有具有不同时间快照的JAR。不管代码是否更改 当最终用户想要下载新版本时,这就是一个问题。例如,有一个很少更新的大jar文件。我们希望,当我们向客户发布该jar文件时,该文件被称为it版本号1.4(假定为1.4-SNAPSHOT),这意味着只有当我们对版本号进行更改时,他们才会下载新版本,就像我们上次构建该文件时假定的那样,无论是否进行更改 实现这一目标的最佳方式是什么?我错过什么了

我们目前在开发中使用快照修饰符,以便将项目依赖项链接到其依赖项的最新版本。因此,当我们构建一个项目时,我们会得到所有具有不同时间快照的JAR。不管代码是否更改

当最终用户想要下载新版本时,这就是一个问题。例如,有一个很少更新的大jar文件。我们希望,当我们向客户发布该jar文件时,该文件被称为it版本号1.4(假定为1.4-SNAPSHOT),这意味着只有当我们对版本号进行更改时,他们才会下载新版本,就像我们上次构建该文件时假定的那样,无论是否进行更改

实现这一目标的最佳方式是什么?我错过什么了吗

谢谢你

当最终用户想要下载新版本时,这就是一个问题

首先,发行版确实应该使用固定版本。因此,如果您正在开发版本1.4-SNAPSHOT,那么发布版本应该是1.4(并且您在VCS中标记为1.4)。然后在dev分支中将新的开发版本升级到1.5-SNAPSHOT

例如,有一个很少更新的大jar文件。我们希望将该特定jar文件称为it版本号1.4(…)

但是,即使您遵循上述“标准”流程,也没有什么强迫您在发布后碰撞所有版本,您可以坚持特定工件的给定固定版本。这将消除问题

当最终用户想要下载新版本时,这就是一个问题

首先,发行版确实应该使用固定版本。因此,如果您正在开发版本1.4-SNAPSHOT,那么发布版本应该是1.4(并且您在VCS中标记为1.4)。然后在dev分支中将新的开发版本升级到1.5-SNAPSHOT

例如,有一个很少更新的大jar文件。我们希望将该特定jar文件称为it版本号1.4(…)


但是,即使您遵循上述“标准”流程,也没有什么强迫您在发布后碰撞所有版本,您可以坚持特定工件的给定固定版本。这将消除问题。

在我看来,对用户来说,一种方式是一种交付,应该通过使用maven发布过程(mvn发布)来处理,该过程会自动增加版本号。您与您的版本控制和用户拥有的内容有着确切的关系。快照应该只在开发中使用。

在我看来,给用户的方式是一种交付,应该通过使用maven发布过程(mvn发布)来处理,该过程会自动增加版本号。您与您的版本控制和用户拥有的内容有着确切的关系。快照应该只在开发中使用。

好的,也许是一个更好的例子;有很多jar,有时在发布之间都不会更改;我希望客户只下载在构建时应该是新的更改。是否有方法使其自动化。目前,我们的每一个软件包都附带了一个快照,当我们发布一个版本时,快照被忽略了,我怎样才能做到这一点呢。那么开发拷贝可以继续吗?或者是我需要一个新的分支并从该分支中删除-SNAPSHOT,然后作为一个发行版在那里开发,我们如何克服maven只下载1.4版一次的问题,因为它缺少快照附件。@garbagecollector我很抱歉。我不明白:Sokay目前我所有的POM都有-SNAPSHOT,这导致了我在问题中抱怨的问题。是否存在自动删除快照的maven生命周期?这样我就不必将构建分为带快照和不带快照了?因此,当我向客户发布时,他们只下载更新的jar文件。:)这更好吗?@garbagecollector有点:)无论您是否自动化了这个过程,您都应该向您的客户发布固定版本的工件。如果要完全自动化该过程,可以使用。如果您只是想获得一些支持来更新poms中的版本,请查看。我不确定这是否回答了这个问题;有很多jar,有时在发布之间都不会更改;我希望客户只下载在构建时应该是新的更改。是否有方法使其自动化。目前,我们的每一个软件包都附带了一个快照,当我们发布一个版本时,快照被忽略了,我怎样才能做到这一点呢。那么开发拷贝可以继续吗?或者是我需要一个新的分支并从该分支中删除-SNAPSHOT,然后作为一个发行版在那里开发,我们如何克服maven只下载1.4版一次的问题,因为它缺少快照附件。@garbagecollector我很抱歉。我不明白:Sokay目前我所有的POM都有-SNAPSHOT,这导致了我在问题中抱怨的问题。是否存在自动删除快照的maven生命周期?这样我就不必将构建分为带快照和不带快照了?因此,当我向客户发布时,他们只下载更新的jar文件。:)这更好吗?@garbagecollector有点:)无论您是否自动化了这个过程,您都应该向您的客户发布固定版本的工件。如果要完全自动化该过程,可以使用。如果您只是想获得一些支持来更新poms中的版本,请查看。我不确定这是否回答了这个问题。maven release是否摆脱了快照策略?生产什么类型的罐子?1.4.jar或1.4-SNAPSHOT?看看Codehaus'versions'插件()-它允许你做很多类似的事情。maven发行版是否摆脱了-SNAPSHOT的标签?生产什么类型的罐子?1.4.jar或1.4-SNAPSHOT?看看t