maven到底什么时候下载依赖?
When exactly does maven download dependencies?
我多年来一直在使用 maven,但刚刚意识到需要了解下载依赖项的实际时间 (maven 阶段)。我已阅读 Maven 文档,但找不到下载依赖项的实际阶段。
以下是我的用例的简化说明:
我有一个包含 2 个阶段的 Jenkins 构建作业(因为我的代码依赖于其他内部项目的快照,我使用 -U 来更新快照,因为我想用最新的快照构建我的代码其他项目):
1.快速检查(检查所有代码是否编译)
mvn test-compile -U
3。慢速检查(构建和单元测试整个代码)
mvn verify -U scoverage:report-only
现在,在执行第 1 步时,如果有人更新依赖项的快照,我将运行在不同的快照。
我想避免这种情况,并且想知道如果我从第 2 步中删除 -U,当第 1 步 运行 时所有依赖项是否仍会更新?或者,是否会出现第 1 步仅将与其相关的依赖项下载到 运行 测试编译阶段而验证阶段需要一组超依赖项的情况?
据我所知,从第二步中删除 -U
是省事的方法。
所有依赖关系都在每次构建的最开始就解决了。
目标dependency:resolve binds by default to the lifecycle phase生成源,验证和初始化后的第三阶段。那么他们都可以在当地买到。
同意,只要作用于相同的 pom,在第二步中删除 -U 可能是正确的做法。
这还假定本地存储库特定于(私有)作业。默认情况下,maven.local 存储库对用户是通用的,位于 ${user.home}/.m2 中。同一节点上的多个执行程序将共享默认存储库。
我多年来一直在使用 maven,但刚刚意识到需要了解下载依赖项的实际时间 (maven 阶段)。我已阅读 Maven 文档,但找不到下载依赖项的实际阶段。
以下是我的用例的简化说明:
我有一个包含 2 个阶段的 Jenkins 构建作业(因为我的代码依赖于其他内部项目的快照,我使用 -U 来更新快照,因为我想用最新的快照构建我的代码其他项目):
1.快速检查(检查所有代码是否编译)
mvn test-compile -U
3。慢速检查(构建和单元测试整个代码)
mvn verify -U scoverage:report-only
现在,在执行第 1 步时,如果有人更新依赖项的快照,我将运行在不同的快照。
我想避免这种情况,并且想知道如果我从第 2 步中删除 -U,当第 1 步 运行 时所有依赖项是否仍会更新?或者,是否会出现第 1 步仅将与其相关的依赖项下载到 运行 测试编译阶段而验证阶段需要一组超依赖项的情况?
据我所知,从第二步中删除 -U
是省事的方法。
所有依赖关系都在每次构建的最开始就解决了。
目标dependency:resolve binds by default to the lifecycle phase生成源,验证和初始化后的第三阶段。那么他们都可以在当地买到。
同意,只要作用于相同的 pom,在第二步中删除 -U 可能是正确的做法。
这还假定本地存储库特定于(私有)作业。默认情况下,maven.local 存储库对用户是通用的,位于 ${user.home}/.m2 中。同一节点上的多个执行程序将共享默认存储库。