我有几个基于 Maven 的 Java Web 应用程序,我不发布,只部署。
我已经意识到很长一段时间以来,我都没有更改生成的工件的版本,因为它只会增加工作 - 更改所有依赖项等的版本。
即使我在一个团队中工作,我们也不太关心版本,并且一直有 1.0.0-SNAPSHOT,而是共享代码并全部重建。
我的问题:我将使用工件版本做什么?我错过了一些利用它的好方法吗?
更新:这个问题不是关于证明 Maven 和依赖关系的合理性。这是关于我的网络应用程序的版本。
我有几个基于 Maven 的 Java Web 应用程序,我不发布,只部署。
我已经意识到很长一段时间以来,我都没有更改生成的工件的版本,因为它只会增加工作 - 更改所有依赖项等的版本。
即使我在一个团队中工作,我们也不太关心版本,并且一直有 1.0.0-SNAPSHOT,而是共享代码并全部重建。
我的问题:我将使用工件版本做什么?我错过了一些利用它的好方法吗?
更新:这个问题不是关于证明 Maven 和依赖关系的合理性。这是关于我的网络应用程序的版本。
仅根据自己的经验,我决定不跟踪 Web 应用程序工件的版本。由于它不公开并且我们是一个小团队,我们只使用 git 标签进行版本控制,并将 maven 工件始终保持为 1.0-SNAPSHOT。
我假设这个问题真的是为了证明使用 Maven 的开销是合理的?在这种情况下,它与以下内容有关:
在我看来,对二进制文件进行版本控制与对源代码进行版本控制一样重要:
为了获得 Maven 的全部功能,我强烈建议您在本地使用Nexus等 Maven 存储库管理器。除了帮助处理 3rd 方依赖项之外,它也是存储应用程序版本的理想场所。即使您继续生成 1.0.0-SNAPSHOT,Nexus 也会确保每个应用程序构建都存储为存储库中唯一的时间戳修订。随着时间的推移,可以将 Nexus 配置为清除您的旧 SNAPSHOTS。