不幸的是你,如果你改变重建你的神器释放15-20文物任何其他建议您pom文件。否则,您的VCS中的状态并不代表您正在使用的状态。
让我们做出了榜样。项目A,项目B上的一个其中B dependends:
项目A:pom.xml的
<version>1.0-SNAPSHOT</version>
Some dependencies etc.
项目B:pom.xml的
<version>1.0-SNAPSHOT</version>
Some dependencies etc.
<dependency>
<groupId>project.a</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
现在你建立项目A和B.你的仓库中的状态代表着状态/依赖于SNAPSHOT的pom文件的状态。
现在您将更改项目A以使其“释放”,但您不重建您的工件。以下是你的版本控制,可能是你做了一个标签。
项目A:pom.xml的
<version>1.0</version>
Some dependencies etc.
其次你做同样的项目B: 项目B:pom.xml的
<version>1.0</version>
Some dependencies etc.
<dependency>
<groupId>project.a</groupId>
<artifactId>A</artifactId>
<version>1.0</version>
</dependency>
但是你也不重建aritfact。结果是您的存储库确实包含代表SNAPSHOT状态的工件,但是您的版本控制表示不同的东西。这只是问题的一个非常简单的例子。如果你有更多的项目等,事情会变得更糟。
此外,我会recosinder考虑改变项目结构,原因根据你写的依赖关系,它看起来像项目应该一起发布,所以它可能是一个好主意,创建一个多模块构建他们。
此外,重建可以通过在Jenkins中使用适当的作业来完成,它可以处理依赖性,或者您可以考虑使用build pipeline plugin来处理这样的事情。
但我还有一个疑问:为什么你的构建需要这么长时间?你可以调查他们为什么要花这么长时间,并减少释放时间。
非常感谢您的回复。我将尽快详细阐述这个问题和我们提出的解决方案。我想我没有清楚地解释这个问题。但是你是正确的,我们将需要重建神器。我会尽快更新你的。再次感谢。 – user971652