如何解决maven插件内的maven依赖关系?
我尝试使用带有标志 resolveTransitively=true 的 ArtifactResolver.resolve(ArtifactResolutionRequest) ,我的项目的分离模块需要 10 分钟。
ArtifactResolutionRequest request = new ArtifactResolutionRequest()
.setArtifact( project.getArtifact() )
.setArtifactDependencies( project.getDependencyArtifacts() )
.setLocalRepository( localRepository )
.setManagedVersionMap( project.getManagedVersionMap() )
.setForceUpdate(false)
.setResolveTransitively(true)
.setOffline(true)
.setListeners(listeners);
result = artifactResolver.resolve(request);
如果我只是用 mvn 构建它,需要大约 4 秒。
maven如何在编译前解决所有传递依赖以及如何在代码中使用它?
//项目的单独模块大量使用父级,导入依赖项,最终拥有 350 个依赖项。那么可能是maven build 减少了一些处理步骤或者ArtifactResolver 额外做了一些事情吗?
Im trying to use ArtifactResolver.resolve(ArtifactResolutionRequest) with flag resolveTransitively=true and it takes 10min for separated module of my project.
ArtifactResolutionRequest request = new ArtifactResolutionRequest()
.setArtifact( project.getArtifact() )
.setArtifactDependencies( project.getDependencyArtifacts() )
.setLocalRepository( localRepository )
.setManagedVersionMap( project.getManagedVersionMap() )
.setForceUpdate(false)
.setResolveTransitively(true)
.setOffline(true)
.setListeners(listeners);
result = artifactResolver.resolve(request);
If i just build it with mvn it takes ~4sec.
How maven resolve all transitive dependencies before compile and how to use it in code?
//The separate module of project heavily use parents, import dependencies and finally have 350 dependency artifacts. So may it be what maven build cuts some processing steps or ArtifactResolver do something additionally?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是我用来解析工件并获取对其的文件引用的代码:
存储库引用是类级别的属性,通过 Maven 中的依赖项注入来解析。你只需要在你的类中声明它们:
This is the code I use to resolve an artifact and get a File reference to it:
The repositories references are class-level attributes which are resolved via dependency inject in maven. You just need to declare them in your class: