新的 Maven 快照上传是否应该覆盖现有快照
Should new maven snapshot upload overwrite existing one
我有一个开源项目并定期上传新版本的下载(使用 maven 构建)。目前我下载了 jaudiotagger-2.2.4-SNAPSHOT 上传
https://bitbucket.org/ijabz/jaudiotagger/downloads
这是一项正在进行的工作,我做了一些修改,我想上传 2.2.4 的新版本,所以我应该只覆盖现有的 2.2.4 上传(这将意味着丢失下载次数)还是应该我给文件加了时间戳,这样名字就不会冲突,如果是的话,我是通过手动修改文件名来做到这一点,还是有一个程序可以通过编辑 pom.xml 文件来做到这一点。
您可以继续上传为 2.2.4-SNAPSHOT
当您的快照工件上传到工件存储库时,它带有时间戳,并且所有上传到同一版本的工件都不会丢失。例如。如果您已将 10 个快照工件上传到 2.2.4,那么存储库中将恰好有 10 个工件。但是在请求2.2.4时,只会将最新上传的artifact返回给请求者。
Maven 版本控制遵循 major.minor.bug,因此建议仅更改版本以响应更改。
例如,如果您发布的最新工件是 2.2.3-GA,并且在 2.2.3-GA 中发现了一个错误,那么您将从 2.2 版本开始修复错误。 4-SNAPSHOT,继续上传到同一个版本,直到你准备发货(发布),然后才变成2.2.4-GA。
根据相同的理论,即使您没有通过 Sonatype 或 Artifactory 等工件存储库提供您的工件,而是通过下载页面 (bitbucket),您也没有理由对快照工件进行版本控制,除非这样做真的很有意义。
我有一个开源项目并定期上传新版本的下载(使用 maven 构建)。目前我下载了 jaudiotagger-2.2.4-SNAPSHOT 上传
https://bitbucket.org/ijabz/jaudiotagger/downloads
这是一项正在进行的工作,我做了一些修改,我想上传 2.2.4 的新版本,所以我应该只覆盖现有的 2.2.4 上传(这将意味着丢失下载次数)还是应该我给文件加了时间戳,这样名字就不会冲突,如果是的话,我是通过手动修改文件名来做到这一点,还是有一个程序可以通过编辑 pom.xml 文件来做到这一点。
您可以继续上传为 2.2.4-SNAPSHOT
当您的快照工件上传到工件存储库时,它带有时间戳,并且所有上传到同一版本的工件都不会丢失。例如。如果您已将 10 个快照工件上传到 2.2.4,那么存储库中将恰好有 10 个工件。但是在请求2.2.4时,只会将最新上传的artifact返回给请求者。
Maven 版本控制遵循 major.minor.bug,因此建议仅更改版本以响应更改。
例如,如果您发布的最新工件是 2.2.3-GA,并且在 2.2.3-GA 中发现了一个错误,那么您将从 2.2 版本开始修复错误。 4-SNAPSHOT,继续上传到同一个版本,直到你准备发货(发布),然后才变成2.2.4-GA。
根据相同的理论,即使您没有通过 Sonatype 或 Artifactory 等工件存储库提供您的工件,而是通过下载页面 (bitbucket),您也没有理由对快照工件进行版本控制,除非这样做真的很有意义。