本文介绍了取Maven工件编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在寻找可用于从远程仓库retreive Maven工件的Java API。我发现的,但它看起来太过复杂满足我的需求,所以我正在寻找的东西更简单。
I'm looking for a Java API which can be used to retreive Maven artifacts from a remote repository. I've found Eclipse Ather so far but it looks over complicated for my needs so i'm seeking for something more simple.
我需要的是:
- 我要指定远程Maven仓库的位置
- 我想获取基于它神器的的groupId +的artifactId +版本
- 的API必须提供的神器当前远程版本(想想这是建立定期让他们有他们的版本生成的部分文物快照)
- 返回神器的位置,一个HTTP URL为preferred(我将我自己与如拿来。的Apache HTTP客户端)
- 可选retreive神器的哪些是要求之一的家属。
推荐答案
可以帮助你(我是一个开发者)。这是围绕奥德一个简单的包装,可以让你找到一个Maven工件的所有传递依赖:
jcabi-aether may help you (I'm a developer). It's a simple wrapper around Aether, that lets you find all transitive dependencies of a Maven artifact:
File repo = this.session.getLocalRepository().getBasedir();
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
JavaScopes.RUNTIME
);
因此,你需要提供作为输入的是:
Thus, all you need to provide as an input is:
- 本地回购的位置,作为一个目录名
- repote库列表(
MavenProject#getRemoteRepositories()
) - 的Maven坐标神器 的
- 的Maven范围来寻找
发现可以为获得每一个依赖的绝对路径神器#的getPath()
Absolute paths of every dependency found can be obtained as Artifact#getPath()
这篇关于取Maven工件编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!