我们的网络驱动器上有一个Maven存储库文件夹,其中包含了我们使用的所有工艺品。
办公室中的每个人都在本地Maven设置中使用一个标准的settings.xml文件,其中包含该网络驱动器作为远程存储库的位置。
通过这种方式,我们更新了network存储库文件夹,这样每个人的计算机上的本地环境就可以从中央存储库文件夹中下载,从而避免了每个人从互联网上重新下载。
我们正在忙着开发一个新的库,让我们说"MyLib 1.0.0“。我们将其安装到中央网络maven文件夹存储库中,每个人的本地Maven项目都在他们的项目中使用该依赖项。但是现在,我们还没有正式发布"MyLib 1.0.0",它还在进行中,所以一旦我们对其进行了进一步的更新,我们就会在中央存储库中覆盖"MyLib 1.0.0“伪制品。
问题是,因为我们的本地Maven已经将这个伪制品下载到他们的本地Maven存储库中,所以他们不会再下载它。它已经存在了。我还不想增加"MyLib“的版本,因为它不是正式版本,我也不希望每个人都必须在他们的pom.xml文件中更改他们的依赖版本。我只想替换"MyLib 1.0.0“文件,让每个人的本地Maven下载并自动覆盖他们的本地副本。(目前每个人都必须被告知手动从本地Maven存储库中移除该人工制品,因为它将重新下载最新的"MyLib 1.0.0“副本)
以上的最佳实践是什么,或者我如何才能做到这一点?
发布于 2014-12-16 17:56:36
根据你的描述,我脑子里有两件事。
首先:停止使用网络驱动器。最好开始使用存储库管理器。除此之外,网络驱动器的速度很慢。
第二:
在Maven中,发行版是不可变的,这意味着如果您拥有1.0版本并部署到您的存储库中,那么它将永远不会被更改。如果您需要对此进行更改,则必须使用不同的版本,例如1.0.1等。
如果您正在开发引发问题的快照,则应该开始使用快照而不是发行版:
目前,每个人都必须被告知手动从本地Maven存储库中移除该人造物,因为它将重新下载最新的"MyLib 1.0.0“副本。
这表明您正在违背Maven的概念。
还有第三。听起来好像你没有在你的构建中使用连续集成。
https://stackoverflow.com/questions/27394498
复制相似问题